我试图将数组中的类似项目分组到新数组中。到目前为止没有运气,有人可以帮忙吗?
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]}
提前谢谢!
答案 0 :(得分:3)
根据项目的相等性对项目进行分组,然后为包含该项目项目的每个组创建一个数组。
var groups = items.GroupBy(x => x).Select(x => x.ToArray());
此查询qill为您提供IEnumerable<int[]>
,其中包含四个整数数组。如果您想通过ToArray
之类的索引访问您的元素,则可以在ToList
之后使用Select
或groups[0]
。