2

合体演算子を(とにかく私にとって)少し奇妙な方法で使用するコードの断片が増えているのを見てきましたが、この使用法について考えていますか?

例:

string foo = null;
void bar(){
 foo = foo??"hello";
}

それ以外の

string foo = null;
void bar(){
 if (foo==null)
  foo="hello";
}
4

4 に答える 4

3

これは、null 合体演算子の完全に合理的な使用のように思えます。どちらの方法でも再割り当てされるため、最初のコード スニペットとはまったく同じではないことに注意してください。変数ではなくプロパティfooを実際に使用している場合、これは重要です。現在の値に関係なく、プロパティ セッターが呼び出されます。

于 2011-03-23T09:49:55.203 に答える
1

null オブジェクトをチェックする重要な機能を提供しながら、コードを短くして読みやすくします。

于 2011-03-23T09:51:57.350 に答える
0

主な差別化要因は、これ??が演算子であるため、他の式で使用できることです。どこで使用するかは、完全に開発者次第です。

于 2011-03-23T09:49:50.770 に答える
0

Coalesce Operator が役立つかもしれない驚くべき状況。エリックに感謝します。 リンクとエリックの回答に従ってください

于 2011-03-24T03:02:18.550 に答える