在LINQ查询中使用动态数据类型

本文关键字:动态 数据类型 LINQ 查询 | 更新日期: 2023-09-27 17:59:01

有一个Linq查询,如下所示:

from row in myDataTable.AsEnumerable() select row.Field<string>("myDataColumn")

现在,尝试使它适用于任何列数据类型(而不仅仅是string)。尝试了以下操作:

from row in myDataTable.AsEnumerable() select row.Field<myDataTable.Columns["myDataColumn"].DataType>("myDataColumn")

但它不起作用。

那么,有没有一种方法可以在这个特定的Linq查询中使数据类型动态?

在LINQ查询中使用动态数据类型

Field属性是为在编译时知道类型时获取值而设计的。当你不只是使用索引器时:

from row in myDataTable.AsEnumerable() select row["myDataColumn"];

这将以object的形式返回该值。