c# - Double 不是可空类型

标签 c# linq

<分区>

我正在使用 LINQ 执行此操作:

        // let use Linq
        var DateMarket = from p in Orders_From_CRD.AsEnumerable()
                         where p.Field<Double>("Fill_ID") != null
                         select OrderTable.Rows.Add(p.Field<DateTime>("trade_date"), p.Field<string>("ticker"),
                         p.Field<Double>("EXEC_QTY"), p.Field<Double>("EXEC_PRICE"));

        TradeTable = DateMarket.CopyToDataTable();

但是我有一个错误告诉我

Cannot cast DBNull.Value to type 'System.Double'. Please use a nullable type.

你知道在这种情况下如何转换可空类型吗?

我试过了 <Double?>我得到了'Specified cast is not valid.'

最佳答案

你可以使用:

p.Field<Double?>

T?Nullable<T> 的简写,一个允许空值的值类型的包装器。

关于c# - Double 不是可空类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332277/

相关文章:

c# - 如何向 WPF TextBlock 添加命令?

c# - LINQ - 不同的语法风格,不同的结果?

c# - 使用 LINQ 查询 Azure MobileServiceSyncTable

c# - LINQ 总和数据表列,其中

c# - XAML 中的映射命名空间不起作用

c# - 如何创建一个没有任何构造函数的类,就像 MessageBox 类一样

c# - 错误 1904 - 模块 KinectAudio10.dll 注册失败

sql-server - SQL 查询转换为 LINQ - DISTINCT 子计数

c# - 从 OData 返回单个实体 - .Net

c# - NEST 2.0和ElasticSearch 2中的重大更改