varchar
DB から値を取り出し、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 つと同じである場合のみです。その他のすべてのケースでは、最初の例で示したように条件演算子を使用する必要があります。