如何获取数据表的最后 5 行?我试过这样的事情:
var Long_bottom = LongSlection.Last(5);
其中 LongSlection 是一个 DataRow。但我有一个错误,你知道吗?
不知道你在这里得到了什么
var Long_bottom = LongSlection.Last(5);
假设您有一个 DataTable 并且您想要获取最后 5 行,您可以通过
datatable1.AsEnumerable().Reverse().Take(5);
Take
并Skip
返回特定数量的元素(参数为 int),而Last
您获得最后一个元素则不是这种情况,或者您需要一个谓词来检查条件或在行内进行检查。
这应该这样做。但它未经测试!
IEnumerable<DataRow> lastRows = table.AsEnumerable().Skip(table.Rows.Count - 2).ToList();
或者:
table.AsEnumerable().Reverse().Take(2);
编辑:根据 OPs 请求,修改为获得最后两个。
怎么样
Datarow[] dr = dt.Rows.Cast<DataRow>().Skip(dt.Rows.Count - 5).ToArray();
或者
dt.Rows.Cast<DataRow>().Reverse().Take(5);
这里 5 是最后要占用的行数。
我需要CopyToDataTable()
把事情做好:
dt = dt.AsEnumerable().Reverse().Take(5).CopyToDataTable();