从DataRow []

时间:2016-07-04 06:42:26

标签: c#-4.0 filter datatable max datarow

DataTable dt = db.Execute("select statement...");

我有这个数据表,其中包含一些带有状态列和日期列的数据。

从该数据中我过滤以仅获取具有特定状态的行

DataRow[] potentialRows = dt.Select("status = 1");

现在我的问题是:

从这个潜在行的DataRow []我想进一步过滤它以获得一个包含最接近今天的DataRow

(例如:如果我有两行:一行日期为昨天,一行日期为一周),我希望DataRow具有昨天的日期)

我尝试了以下内容:

DataRow dr = potentialRows.Max(x => x["date"]) as DataRow;

但这似乎没有用,所以我必须遗漏一些东西。

感谢您的任何评论或解决方案。

1 个答案:

答案 0 :(得分:1)

这解决了我的问题:

dr = potentialRows.OfType<DataRow>().OrderBy(r => r["date"]).LastOrDefault<DataRow>();

按日期字段对数组进行排序,并抓取保存最新日期的最后一个元素。