我正在尝试声明一个十进制数,如果 dr["index"] 为空,它将采用 dr["index"] 的值或值为 null。
这是我的代码行:
Decimal number = (Decimal)(dr["index"] ?? 0);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
System.Invalid.CastException : 'Specified cast is not valid'
Run Code Online (Sandbox Code Playgroud)
你知道如何解决这个问题吗?
如果是 DBNull.Value,我会选择:
Convert.ToDecimal(dr["index"] == DBNull.Value ? 0m : dr["index"])
Run Code Online (Sandbox Code Playgroud)
或在空值的情况下:
Convert.ToDecimal(dr["index"] ?? 0m)
Run Code Online (Sandbox Code Playgroud)
ifdr[index]只能是一个数值。
| 归档时间: |
|
| 查看次数: |
1047 次 |
| 最近记录: |