为什么这个三元运算失败

本文关键字:三元 运算 失败 为什么 | 更新日期: 2023-09-27 18:20:52

我有两段代码,一段使用if条件,另一段使用?操作人员

两者在同一功能范围内相继定义。但是语句使用了?运算符抛出编译错误?这段代码有问题吗。

if (IsCount)
       filterParameterOriginTime.Values = new[] { new DateTime(2013, 7, 1).ToString() };
else
       filterParameterOriginTime.Values = new[] { lastPollTime.ToString() };
// IsCount ? filterParameterOriginTime.Values = new[] { new DateTime(2013, 7, 1).ToString() } : filterParameterOriginTime.Values = new[] { lastPollTime.ToString() };

为什么这个三元运算失败

简单地说,你有一个向后的操作符,试试这个:

filterParameterOriginTime.Values = IsCount 
    ? new[] { new DateTime(2013, 7, 1).ToString() } 
    : new[] { lastPollTime.ToString() };

也就是说,Henk提出了一个关于可读性的好观点。目标是可读代码,而不是不必要的简洁代码。在大多数情况下,我通常倾向于if语句。

filterParameterOriginTime.Values = IsCount ?  new[] { new DateTime(2013, 7, 1).ToString() } :  new[] { lastPollTime.ToString() };