[英]Separate array in sub arrays in C#
我在C#中有以下数组:
string[][] arrayofArrays = getArray();
我知道arrayofArrays中的数组的长度为2。我的问题如下: 是否可以将主体数组“拆分”或“分离”成两个数组?
谢谢。
编辑: 我想知道是否有一种方法已经在C#中实现,我知道如何使用算法来实现。
编辑2:这是我需要的一个示例:
// here are the data:
string[][] arrayofArrays = {{"1", "a"}, {"2", "b"}, {"3", "c"}};
//here is what I need as output:
string[] array1 = {"1", "2", "3"};
string[] array2 = {"a", "b", "c"};
如果我理解正确,则可以执行以下操作:
string[] firstArray=Array.ConvertAll(arrayofArrays,a => a[0]);
string[] secondArray=Array.ConvertAll(arrayofArrays,a => a[1]);
还有一个变体:
var array1 = arrayOfArrays.Select(a => a[0]).ToArray();
var array2 = arrayOfArrays.Select(a => a[1]).ToArray();
对于它的价值,此LINQ查询应该执行您想要的操作:
int numArrays = 2;
string[][] arrayofTwoArrays = arrayofArrays
.Select((arr, index) => new { arr, index })
.GroupBy(x => (x.index + 1) % numArrays, x => x.arr)
.Select(g => g.SelectMany(x => x).ToArray())
.ToArray();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.