我有一个简单的整数列表(重复一些值)并处理:
var groups = from n in numbers
group n by n into numGroup
where numGroup.Count()>1
select numGroup;
我可以在 linq 之后直接使用嵌套循环遍历组,但我无法编写一个单独的方法来循环它们。这是我尝试过的。
private void PrintGroups(IEnumerable groups, string title)
{
int i = 0;
foreach (var group in groups)
{
txt1.Text += "Group " + ++i + "\r\n"; ;
foreach (var x in group)
txt1.Text += " " + x.ToString() + "\r\n"; ;
}
}
编译器不喜欢内部 foreach:
“foreach 语句不能对 'object' 类型的变量进行操作,因为 'object' 不包含 'GetEnumerator' 的公共定义”
但是相同的代码与 linq 内联工作。有什么建议么?