4

如何获取数据表的最后 5 行?我试过这样的事情:

var Long_bottom = LongSlection.Last(5);

其中 LongSlection 是一个 DataRow。但我有一个错误,你知道吗?

4

4 回答 4

5

不知道你在这里得到了什么

var Long_bottom = LongSlection.Last(5);

假设您有一个 DataTable 并且您想要获取最后 5 行,您可以通过

datatable1.AsEnumerable().Reverse().Take(5);

TakeSkip返回特定数量的元素(参数为 int),而Last您获得最后一个元素则不是这种情况,或者您需要一个谓词来检查条件或在行内进行检查。

于 2012-06-05T10:25:07.583 回答
0

这应该这样做。但它未经测试!

IEnumerable<DataRow> lastRows = table.AsEnumerable().Skip(table.Rows.Count - 2).ToList();

或者:

table.AsEnumerable().Reverse().Take(2);

编辑:根据 OPs 请求,修改为获得最后两个。

于 2012-06-05T10:14:03.740 回答
0

怎么样

Datarow[] dr = dt.Rows.Cast<DataRow>().Skip(dt.Rows.Count - 5).ToArray();

或者

dt.Rows.Cast<DataRow>().Reverse().Take(5);

这里 5 是最后要占用的行数。

于 2012-06-05T10:16:51.803 回答
0

我需要CopyToDataTable()把事情做好:

dt = dt.AsEnumerable().Reverse().Take(5).CopyToDataTable();
于 2020-02-19T19:22:48.660 回答