如何在C#中循环var对象集合?

时间:2015-10-13 12:22:21

标签: c# linq

我有从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呢?

2 个答案:

答案 0 :(得分:10)

使用var代替objectselect 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非常好。