Есть ?? необходимо, или вы должны просто использовать троичный оператор (с которым большинство знакомо)
На самом деле, мой опыт показывает, что слишком немногие знакомы с троичным оператором (или, точнее, условным оператором ; ?:
является "троичным" в том же смысле, что и ||
двоичный или +
является либо унарным, либо двоичным; однако, во многих языках он оказывается единственным тернарным оператором), поэтому, по крайней мере, в этом ограниченном примере ваше утверждение не будет выполнено прямо здесь.
Кроме того, как упоминалось ранее, существует одна важная ситуация, когда оператор слияния нуля очень полезен, и это когда всякий раз вычисляемое выражение имеет какие-либо побочные эффекты. В этом случае вы не можете использовать условный оператор без (а) введения временной переменной или (б) изменения фактической логики приложения. (б) явно не подходит ни при каких обстоятельствах, и хотя это личное предпочтение, мне не нравится загромождать область объявления множеством посторонних, даже если недолговечных переменных, поэтому (а) слишком конкретный сценарий.
Конечно, если вам нужно выполнить несколько проверок результата, условный оператор или набор if
блоков, вероятно, являются инструментом для работы. Но для простого «если это ноль, используйте это, в противном случае используйте его», оператор слияния нуль ??
идеален.