C#将多个数组合并为一个数组

时间:2016-09-03 14:04:03

标签: c# arrays linq merge jagged-arrays

我从Arrays中得到jagged array的x-Amount,如下所示:

string[] sArray1 = {"FB1" , "FB(1)" , "V1.0"};
string[] sArray2 = {"FB1" , "FB(1)" , "" , "V1.0"};
string[] sArray3 = {"FB2" , "FB(2)" , "V5.2"}

我希望在

时将它们合并为一个Array
sArray1[0] == sArray2[0] && sArray1[1] == sArray2[1]

合并的Array应该如下所示

string[] sArray12 = {"FB1" , "FB(1)" , "V1.0" , "V1.0"};

我已经用Array.CopyTo()尝试过了;和Enumerable.Union<>Enumerable.Union<>的问题在于,当字段3和4具有相同的值时,只有字段3会写在Array中。 有没有办法让两个值都写出来?或者有更好的解决方法吗?

1 个答案:

答案 0 :(得分:0)

也许像

if (sArray1[0] == sArray2[0] && sArray1[1] == sArray2[1])
{
   var sArray12 = sArray1.Concat(sArray2.Skip(2))
                         .Where(x => !string.IsNullOrEmpty(x)) //probably
                         .ToArray();
}