【发布时间】:2018-12-14 02:12:53
【问题描述】:
我有两个字符串 A 和 B。
string A = @"Hello_
Hello_
Hello_";
string B = @"World
World
World";
我想将这两个字符串与函数调用相加,如下所示:
string AB = ConcatMultilineString(A, B)
函数应该返回:
@"Hello_World
Hello_World
Hello_World"
对我来说最好的方法是将字符串拆分为行数组,然后将所有行与 "\r\n" 一起添加,然后返回。但这对我来说似乎是不好的做法,因为多行并不总是用“\r\n”表示。
有没有更可靠的方法来做到这一点?
【问题讨论】:
-
你的问题是how to split line吗?
-
多行用
Environment.NewLine分隔。如果您对硬编码的\r\n感到不舒服,您可以使用这个特定于平台的常量。您是否需要处理两个字符串可以有不同行数的情况?如果你想避免数组和循环,肯定有一个 LINQ 单线可能。 -
@dlatikay:问题可能比平台特定字符更大。您可以混合使用
\r\n(新段落,Word 中的回车)和\n(同一段落中的新行,Word 中的 Shift+Return)。虽然如果字符串实际上是在 OP 的代码中定义的,这不是问题,但我们不知道实际字符串来自哪里。 -
@Flater 这些字符串来自网站上的输入。我不确定是否会发生 \n 和 \r\n 的混合,但我显然更喜欢万无一失的解决方案。
-
@dlatikay 你能链接一个 LINQ 替代品吗?