分割逗号分隔多个字符串并压入数组值

Ary*_*rya -1 c#

如何分割逗号分隔多个字符串并推入数组。

例如,

string a = "TN,KA,KL";
string b = "AP,UP,JK";
Run Code Online (Sandbox Code Playgroud)

结果数组应为:

string[] resultArray = new string[] {"TN", "KA", "KL", "AP", "UP", "JK"};
Run Code Online (Sandbox Code Playgroud)

我是C#的新手。帮我解决这个问题。

Cai*_*ard 10

如果要使用LINQ:

var resultArray = a.Split(',').Concat(b.Split(',')).ToArray();
Run Code Online (Sandbox Code Playgroud)

或不使用LINQ,您可以将concat作为字符串进行处理,然后使用以下3行之一进行拆分:

var resultArray = $"{a},{b}".Split(','); //c#6+ String interpolation-formatted style
var resultArray = string.Format("{0},{1}", a, b).Split(','); //c# any version, formatted style
var resultArray = (a+","+b).Split(','); //concat style
Run Code Online (Sandbox Code Playgroud)

或者,您可以将它们加载到列表中,然后将其转换为数组:

var l = new List<string>(a.Split(','));
l.AddRange(b.Split(','));
var resultArray = l.ToArray();
Run Code Online (Sandbox Code Playgroud)

这绝不是一个详尽的清单,但是它详细说明了使用LINQ(如果您有多种不同的可枚举对象,则很简单)而没有LINQ(如果它确实是一对短字符串,并且您希望易于阅读)的最简单方法。代码段),并带有一个集合(如果您想将其传递并从其他位置填充)

如果这种情况确实如您在这里所示,有几个短字符串,那么我将使用字符串concat然后拆分。字符串类对“将3个字符串连接在一起”操作具有特定的优化,因此它应具有合理的性能,较短的代码且易于理解。如果要执行数百万个这样的操作,则拆分为两个数组可能会更快,请制作一个与a和b长度都一样长的第三个数组,然后将a复制到开始位置,并将b复制到偏移a 。长度

  • 发布我的答案时,您的答案中没有看到连接选项。删除并投票。 (2认同)