【发布时间】:2016-07-04 22:43:29
【问题描述】:
我只是好奇这是否可能,或者有没有办法让它成为 C# 的有效语法:
expression == value ? /*do nothing here, or put some empty block like { ; } */ : SomeClass.SomeMethod();
编辑:对于深入讨论和更多信息,我认为这个块可以工作(如果测试的字典键不存在,它会添加字典。否则,它会跳过):
(!packageDict.ContainsKey(desc)) ? packageDict.Add(desc, subtotal) : /*does nothing*/;
【问题讨论】:
-
不,这是不可能的。使用
if语句来做到这一点......另一种选择是使用“默认”值或简单地返回两个结果之一。 -
@Ian 这可能是一个答案,顺便说一句。
-
你必须返回一些东西,可能是
value本身,默认值等等。 -
为什么需要它?解释要求(通过提供更多代码).. 可能有一些棘手的方法!
-
@Moumit 代码添加以获取更多信息和进一步讨论/解释。
标签: c# dictionary syntax conditional ternary-operator