三元运算符中的C#逗号用法
是否有类似于C中的逗号运算符可以在C#中使用,也可以在下面使用三元运算符中的C#逗号用法,c#,if-statement,conditional-operator,C#,If Statement,Conditional Operator,是否有类似于C中的逗号运算符可以在C#中使用,也可以在下面使用 templateCode = myBoolFlag ? ((smsNotification.NewNumber = request.NewNumber), "NEWCARDSTR") : request.NewCardStatus == "L" || request.NewCardStatus == "S
templateCode = myBoolFlag ? ((smsNotification.NewNumber = request.NewNumber), "NEWCARDSTR")
: request.NewCardStatus == "L" || request.NewCardStatus == "S"
? "STRING1"
: "STRING2";
我强烈怀疑使用
if
语句会在这里产生更可读的代码。在条件运算符的一个路径中使用副作用对我来说似乎是个坏主意。如果您绝对希望表达式中出现副作用,可以使用局部函数并调用它。如果你那样做,天使当然会哭泣;C#没有逗号运算符(以及C++以外的大多数其他类似C的语言)是有原因的。嵌套的三元表达式也不是那么热门。分号不征税。