我发现以下代码令人费解:
public double ReturnBehavior(List<double> ptList)
{
return ptList.Count==0? 0:ptList[0];
}
我认为应该相当于
public double ReturnBehavior(List<double> ptList)
{
if(ptList.Count==0)
return 0;
return ptList[0];
}
但这不是,因为第一种方法将同时评估
true
和false
条件。因此,这意味着如果IndexOutOfRange
,第一个方法将尝试ptList.Count==0
异常。我在这里想念什么吗?还是vs 2008中的错误?
最佳答案
我已经在VS2010和VS2008中进行了检查,这是预期的行为-无例外。如果有错误-它们不在给定的代码片段中
关于c# - IsTrue:TrueCondition:FalseCondition评估两个条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3328082/