【发布时间】:2011-07-28 13:59:13
【问题描述】:
请您分析一下 CS1 和 CS2。为什么我需要在 CS1 中添加 (DateTime?)null 而我在 CS2 中使用 _my_date = null;。如果我没有在 CS1 中添加(DateTime?),我将被“祝福”:( 出现以下错误
条件表达式的类型无法确定,因为没有....
DateTime? _my_date;
DataTable _dt = GetData();
// Code Snippet 1: CS1
_my_date = _dt.Rows[0]["MyDate"] == DBNull.Value ? (DateTime?)null : Convert.ToDateTime(_dt.Rows[0]["MyDate"]);
// Code Snippet 2: CS2
if (_dt.Rows[0]["MyDate"] == DBNull.Value)
{
_my_date = null;
}
else
{
_my_date = Convert.ToDateTime(_dt.Rows[0]["MyDate"]);
}
【问题讨论】:
-
cs1和cs2是什么意思?无论如何是 c# 1.1 和 c# 2.0 吗?
-
@NoProblemBase:如果您阅读示例代码,CS1 和 CS2 在 cmets...
标签: c# nullable ternary-operator