2009-10-12 174 views
0

咱们唉设置我有此查询:迭代LINQ的结果使用索引

var results = from row in db.Table select row; 

我如何可以访问此:

string name = results[0]["columnName"]; 

回答

2

,如果你真的想要一个特定的索引,你可以使用跳过()第()

var rowOffset = 0; 
var results = (from row in db.Table 
       select row).Skip(rowOffset).First()["columnName"]; 

但除非你使用的是哪里条款我真的建议使用索引。索引器几乎是一个直接引用,而LINQ语句将使用对象迭代器。

也不要忘记,你可以做更多先进的东西与LINQ。

var rowOffset = 0; 
var pageLength = 10; 
var results = (from row in db.Table 
       let colValue = row["columnname"] 
       where colValue != null 
       select colValue.ToString() 
       ).Skip(rowOffset) 
       .Take(pageLength) 
       .ToArray(); 
var commaString = string.Join(", ", results); 
1

results是行的IEnumerable列表。所以你可以用一个简单的foreach来获得它。

foreach(var row in results) 
{ 
    string name = row["columnName"]; 
} 
1

(从db.Table选择行行)。首先()。COLUMNNAME

2

如果你特别只想零个元素,你可以使用results.First()

+0

我不认为他只是寻找第零个元素...... – Will 2009-10-12 13:38:33