我有从linq生成的集合(按查询分组)。这个生成的列表和集合我想迭代每个键的循环,我有下面的代码,通过分组生成对象列表,现在我想循环通过
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)
{
}
那么如何访问此foreach中的key和reportname列表呢?如何写foreach呢?
答案 0 :(得分:10)
使用var
代替object
。 select new
创建一个匿名类型:
foreach (var oParam in objList)
{
Console.WriteLine(oParam.UserID);
}
答案 1 :(得分: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非常好。