获取要列出的数据表的数据时间数据列



我想在列表中获取我的DataTable的数据列(DataTime类型(。如何使用 LINQ 执行此操作?

我尝试了以下行,但没有奏效:

DateTimeList = dt.Columns.Cast<DataColumn>()
.Where(dc => dc.DataType == typeof(DateTime)).ToList());

日期时间值的创建方式如下:

new DateTime(2019, 6, 17, 16, 46, 05)

要从DataTable中的DateTime列返回List<DateTime>类型:

var dates = dt.Columns.Cast<DataColumn>()
.Where(c => c.DataType == typeof(DateTime))
.SelectMany(c => c.Table.Rows.Cast<DataRow>()
.Select(r => r.Field<DateTime>(c.ColumnName))).ToList();

查询获取所有DateTime值,无论dt包含一个或多个Column<DateTime>类型。

如果表中只有单个DataColumn<DateTime>类型,则可以改为编写:

var dates = dt.Rows
.Cast<DataRow>()
.Select(r => r.Field<DateTime>(dt.Columns.Cast<DataColumn>()
.FirstOrDefault(c => c.DataType == typeof(DateTime))?.ColumnName)).ToList();

相关内容

  • 没有找到相关文章

最新更新