0

让我有这个查询:

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

我怎样才能访问这个:

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

4 回答 4

2

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

于 2009-10-12T13:23:14.727 回答
2

如果你真的想要一个特定的索引,你可以使用带有First()的Skip()方法。

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

但除非您使用Where子句,否则我真的建议您使用索引器。索引器几乎是直接引用,而 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);
于 2009-10-12T13:34:35.733 回答
1

resultsIEnumerable行列表。所以你可以通过一个简单的 foreach 来获得它。

foreach(var row in results)
{
   string name = row["columnName"];
}
于 2009-10-12T13:22:22.573 回答
1

(从 db.Table 中的行选择行).First().columnName

于 2009-10-12T13:22:39.390 回答