我查看了很多网站,但我无法理解如何使用linq查询数据表的前几行。
我还想知道如果数据来自Excel文件,那么列引用是否相同?例如,列F in在数据表中是相同的还是编号的引用?
答案 0 :(得分:5)
DataTable yourDataTable = new DataTable();
var result = yourDataTable.AsEnumerable()
.Take(2) // Select first two rows
.Select(r =>
new
{
Field1 = r.Field<int>("col1"), // Select your columns
Field2 = r.Field<string>("col2")
// your rest of the columns
}
);
如果您只想选择第二行,那么:
var result = yourDataTable.AsEnumerable()
.Skip(1) // skip first row
.Take(1) // Select second row
.Select(r =>
new
{
Field1 = r.Field<int>("col1"), // Select your columns
Field2 = r.Field<string>("col2")
// your rest of the columns
}
);
编辑:
要选择所有列而不是特定列,只需从语句中删除Select
即可。像这样:
var result = yourDataTable.AsEnumerable()
.Skip(1) // skip first row
.Take(1); // Select second row