我有两条代码,一条使用条件和其他使用?操作
两者都在相同的功能范围内连续定义。但声明使用?运算符抛出编译错误?这段代码有问题。
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() };
答案 0 :(得分:11)
简单地说,你让操作员倒退,试试这个:
filterParameterOriginTime.Values = IsCount
? new[] { new DateTime(2013, 7, 1).ToString() }
: new[] { lastPollTime.ToString() };
尽管如此,Henk对可读性提出了一个很好的观点。瞄准可读代码与不必要的简洁代码。在大多数情况下,我通常倾向于if
语句。
答案 1 :(得分:3)
filterParameterOriginTime.Values = IsCount ? new[] { new DateTime(2013, 7, 1).ToString() } : new[] { lastPollTime.ToString() };