null をチェックし、そうでない場合は別の値を割り当てる最も短い方法 質問する

null をチェックし、そうでない場合は別の値を割り当てる最も短い方法 質問する

varcharDB から値を取り出し、stringその値が である場合に、割り当て先の を "" として設定したいと考えていますnull。現在は次のようにしています。

if (string.IsNullOrEmpty(planRec.approved_by) == true)
  this.approved_by = "";
else
  this.approved_by = planRec.approved_by.toString();

これを 1 行で実行する方法があるはずです。たとえば、次のようになります。

this.approved_by = "" || planRec.approved_by.toString();

しかし、これを行う最適な方法が見つかりません。もっと良い方法があるのでしょうか、それとも私が持っている方法が最善の方法なのでしょうか?

ベストアンサー1

これを試して:

this.approved_by = IsNullOrEmpty(planRec.approved_by) ? string.Empty : planRec.approved_by.toString();

他の人が言っているように、null 合体演算子を使用することもできます。あなたのコードで機能する例を誰も示していないので、ここに 1 つ示します。

this.approved_by = planRec.approved_by ?? planRec.approved_by.toString();

ただし、この例が機能するのは、 の可能な値がthis.approved_by、設定したい潜在的な値の 1 つと同じである場合のみです。その他のすべてのケースでは、最初の例で示したように条件演算子を使用する必要があります。

おすすめ記事