整数の単純なリスト(一部の値が繰り返されます)があり、次のように処理します。
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 を好みません。
「'オブジェクト' には 'GetEnumerator' のパブリック定義が含まれていないため、foreach ステートメントはタイプ 'オブジェクト' の変数を操作できません」
しかし、同じコードが linq とインラインで動作します。助言がありますか?