У меня есть небольшой фрагмент кода, который меня расстраивает:
HashSet<long> groupUIDs = new HashSet<long>();
groupUIDs.Add(uid)? unique++ : dupes++;
Во время компиляции выдает ошибку:
Только операторы присваивания, вызова, приращения, уменьшения и нового выражения объекта могут использоваться в качестве оператора
HashSet.Add
задокументировано для возврата bool, поэтому троичный (?) Оператор должен работать,
и это выглядит как совершенно законный способ отследить количество уникальных и дублирующих элементов, которые я добавляю в хэш-набор.
Когда я переформатирую его как если-то-еще, он отлично работает.
Может кто-нибудь объяснить ошибку, и если есть способ сделать это как простой троичный оператор?