如何迭代linq创建的列表

时间:2014-11-16 20:22:18

标签: c# linq

如何使用linq迭代我从数据库获取的列表?这是我的代码如下。 在for循环中,条件i < elements.Count会出错:

  

“操作数”&lt;'不能应用于int类型和方法组的操作数“。

我该如何解决这个问题?

var elements = from element in db_.EMAILFAXNOTIFICATION
                       where element.TARIH == dt_
                       && element.CLCARDID == cl_id
                       select element;

for (int i = 0; i < elements.Count; i++)
{

}

1 个答案:

答案 0 :(得分:7)

您收到错误是因为您忘记调用Count方法:

for (int i = 0; i < elements.Count(); i++)
{

}

请注意,调用Count()会处理整个序列 - 然后您将再次遍历序​​列 以访问每个元素。正如@Scott指出的那样,由于在循环的每次迭代中评估循环条件,Count被称为N + 1次,其中N是序列的大小。

要避免这种情况,请改用foreach循环。

foreach (var element in elements)
{
    // Do something with element
}