使用linq和c#查询数据表

时间:2012-11-13 11:39:38

标签: c# asp.net linq datatable

我查看了很多网站,但我无法理解如何使用linq查询数据表的前几行。

我还想知道如果数据来自Excel文件,那么列引用是否相同?例如,列F in在数据表中是相同的还是编号的引用?

1 个答案:

答案 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