0

以下のように変数を割り当てることができます。

if (Session["myVariable"] != null)
{
    string variAble = Session["myVariable"].ToString();
}

オブジェクトが null かどうかをチェックし、null でない場合は代入するメソッドはありますか?

4

3 に答える 3

5

string variAble = Session["myVariable"] ?? "";

編集@hatchet によって提案されているように、もう少し堅牢な形式は次のとおりです。

string variAble = (Session["myVariable"] ?? "").ToString();

于 2013-01-17T22:30:42.720 に答える
2

これは新しいことではありませんが、条件演算子を使用してこれを単純化できる可能性があります。

string variable = Session["myVariable"] != null ? Session["myVariable"].ToString() : "Fallback";
于 2013-01-17T22:30:38.697 に答える
2

null オブジェクトでも機能するため、拡張メソッドを作成できます。

public static class StringExtensions
{
    public static String ToNullString(this object o)
    {
        return o == null ? "" : o.ToString();
    }
}

しかし、私はそれを悪い形だと考えています - あなたの後にコードをサポートする人は誰でも、あるいは数ヶ月後にあなたにとっても混乱するでしょう. nullチェックだけを行う方がおそらく良いでしょう。

于 2013-01-17T22:36:50.953 に答える