我有一个包含三个元素的整数列表,它们的值都设置为1000。如果我按值对此列表进行分组,我仍然会得到三个元素,而不是一个。为什么?
var l = new List<int> {1000, 1000, 1000};
var gr = from i in l
group i by new
{
j = i
}
into g1
from g in g1
select new
{
Id = g1.Key.j
};
var count = gr.Count(); // <- count is 3!
g1
的分组。然后,你对该分组的每个项目进行投影,从而将该组分解为其组成部分。结果是你所期望的;3个元素。 - Asad Saeeduddin