首页 > 解决方案 > C# Concat 多行字符串

问题描述

我有两个字符串 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”表示。

有没有更可靠的方法来做到这一点?

标签: c#stringconcat

解决方案


对于单行解决方案:

var output = string.Join(System.Environment.NewLine, A.Split('\n')
                   .Zip(B.Split('\n'), (a,b) => string.Join("", a, b)));

我们分开是\n因为无论是\n\r还是只是\n,它都会包含\n。剩下的\r似乎被忽略了,但是如果您觉得更安全,您可以添加对Trimfora的调用。b


推荐阅读