我这里有这段代码。在case ServiceType.Register:
中,我看似是两个等效语句,一个使用常规if
语句,另一个使用三元运算符?/:
。对于if
语句,VS报告没有错误。不过有这条线:
IsXML == true ? PopulateRegister(ParseType.Xml) : PopulateRegister(ParseType.Str);
VS错误地说:
只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句
任何人都知道为什么常规if
语句没有错误但是如果你使用"?/:" (一个班轮)抛出错误? Pic也附上了。
switch (this.ServiceType)
{
case SerivceType.Login:
PopulateLogin();
break;
case SerivceType.Register:
if (IsXML == true)
PopulateRegister(ParseType.Xml);
else
PopulateRegister(ParseType.Str);
IsXML == true ? PopulateRegister(ParseType.Xml) : PopulateRegister(ParseType.Str);
break;
case SerivceType.Verify:
PopulateVerify();
break;
}