将类似的项目分组到一个数组中

时间:2014-05-12 16:49:37

标签: c# arrays

我试图将数组中的类似项目分组到新数组中。到目前为止没有运气,有人可以帮忙吗?

int[] items = { T1, T4, T6, T1, T4, T20, T6 };

我希望将其分组如下;

int[] One = { T1, T1 };
int[] two = { T6, T6 };
int[] three = { T20 };
int[] four = { T4, T4 };

到目前为止我在下面尝试过,但是我在数组上得到一个空值(一,二等)

int[] one = items.Where(com => com == 8).ToArray();

我得到的结果是;

one {int[0]}

提前谢谢!

1 个答案:

答案 0 :(得分:3)

根据项目的相等性对项目进行分组,然后为包含该项目项目的每个组创建一个数组。

var groups = items.GroupBy(x => x).Select(x => x.ToArray());

此查询qill为您提供IEnumerable<int[]>,其中包含四个整数数组。如果您想通过ToArray之类的索引访问您的元素,则可以在ToList之后使用Selectgroups[0]