我正在尝试从字符串数组创建多行字符串,如下所示
@"A minErr message has two parts:
the message itself and the url that contains the encoded message.
The message's parameters can contain other error messages which also include error urls.";
我有这些行的字符串数组
string [] miltilines={"A minErr message has two parts:","the message itself and the url that contains the encoded message.","The message's parameters can contain other error messages which also include error urls."}
我尝试了多种方法来获取多行字符串对象,但在字符串对象中以\r\n结束
1:String.Join(Environment.NewLine, miltilines)
2:
string multiline = @" ";
foreach (var item in miltilines)
{
multiline += @"" + item.Trim() + " ";
}
3:
StringBuilder stringBuilder = new StringBuilder();
foreach (var item in miltilines)
{
stringBuilder.AppendLine(item );
}
有没有办法从字符串数组中获取多行字符串对象
发布于 2018-10-16 03:25:50
对于字符串,在实际数据和向用户表示它的方式之间可能存在巨大的差距。包括您,调试器的用户。如果你不知道如何解释一个字符串,你就不能得到字母,甚至不知道什么地方结束了:https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
调试器和Windows/程序员对如何解释任何给定的字符串有非常不同的想法,这并不少见。您的示例:“minErr消息有两个部分:/r/n消息本身和包含编码消息的url。/r/n消息的参数可以包含其他错误消息,这些错误消息也包含错误url。”只是对字符串的一种可能的解释。
调试器使用工具提示。这些工具提示不支持多行。这可能有技术原因(工具提示不支持换行符/第一次编写时不支持换行符)或使用大小写原因(如果字符串有很多换行符,则会使Tolltip很难阅读)。
/r/n是Windows上的“回车符”和“换行符”。由于缺乏实际显示多行内容的能力(如多行文本框),调试器做了第二个最好的事情:它将换行符显示为字符串的一部分。任何实际可以在多行中显示文本的代码都会正确地将这些字符解释为它们应该表示的字符。
https://stackoverflow.com/questions/52823015
复制相似问题