2009-10-12 175 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