我有一个简单的小代码片段,但它让我感到沮丧:
HashSet<long> groupUIDs = new HashSet<long>();
groupUIDs.Add(uid)? unique++ : dupes++;
编译时会生成如下错误信息:只有赋值、调用、加减一和新对象表达式可以用作语句
HashSet.Add
的文档中说明其返回一个 bool 值,因此三目运算符 (?) 应该可行,
这看起来是在跟踪添加到哈希集中的唯一项和重复项的完全合法的方式。
当我将其重新格式化为 if-then-else 时,它可以正常工作。
有人能解释一下这个错误吗?是否有办法使用简单的三目运算符来实现这个目的?