组织数组c#

Gre*_*tko -2 c# arrays organized

所以我在一个数组中有一组变量,我想收集每个(比方说)第四个索引的数据.例如,如果我有阵列中的所有[],其在具有数据[0]->id [1]->field1 [2]->field2和后一个[3]->linebreak和后另一组[4]->id [5]->field1[6]->field2 [7]->linebreak等,等等.现在我想创建一个名为id []的数组(或列表),其中包含所有id的内容,以及field1[]具有所有字段ID的数组.我怎么能这样做?

Dou*_*las 5

您可以对每个数组元素的索引应用模4,以确定其沿四个组的位置.Ids将位于0位置; 字段位于第1和第2位.

int[] ids = all.Where((_, i) => i % 4 == 0).ToArray();
int[] fields = all.Where((_, i) => i % 4 == 1 || i % 4 == 2).ToArray();
Run Code Online (Sandbox Code Playgroud)

  • @JoelCoehoorn:这是一个命名约定,表示该参数不会在匿名函数中使用.它起源于函数式语言(例如Haskell),但它也在[C#lambdas]中[引起关注](http://stackoverflow.com/a/10538946/1149773). (3认同)