私は次のことを試しました.2つの文字列を連結し、空の文字列をnullに置き換えます。
string a="Hello";
string b=" World";
-- デバッグ (? が print であることをおかしなことに、読みやすさにはまったく役立たない...)
? a ?? "" + b ?? ""
->「こんにちは」
正しいです:
? (a??"")+(b??"")
"Hello World"
「Hello World」、または a が null の場合は単に「World」を期待していました。明らかに、これは演算子の優先順位と関係があり、括弧で克服できます。この新しい演算子の優先順位を文書化する場所はどこにありますか。
(おそらくstringbuilderまたはString.Concatを使用する必要があることに気づきました)
ありがとう。