2015-10-13 28 views
2

我有從linq(group by query)生成的集合。這個生成列表,並收集我想要遍歷每個鍵循環,我有以下的代碼,通過分組生成對象的名單,現在我想遍歷如何通過C#中的var對象集合循環?

var objList=from p in objConfigurationList 
group p by p.UserID into g 
select new { UserID=g.Key, ReportName=g.ToList() }; 

foreach (object oParam in objList) 
{ 

} 

所以我怎麼能訪問這裏面的關鍵和REPORTNAME列表的foreach。如何爲此編寫foreach?

回答

8

使用var而不是object。該select new創建一個匿名類型:

foreach (var oParam in objList) 
{ 
    Console.WriteLine(oParam.UserID); 
} 
4

你也可以使用一個小的擴展方法(credits):

public static void ForEach<T>(this IEnumerable<T> @this, Action<T> action) 
{ 
    foreach (var item in @this) 
     action(item); 
} 

然後,你可以做

objList.Foreach(oParam => 
{ 
    ... // your code here, e.g. Console.WriteLine(oParam.UserID) 
} 

它在方法 - 真的好語法linq。