繁体   English   中英

C#中子数组中的单独数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM