2007-06-25

String.IsNullOrEmpty()

.NETで文字列が空白かどうかを調べる場合、String.Emptyを使います。
    if (str == String.Empty) {
    }
 
単に""を使う場合と比べてオブジェクトを生成しない分早い気がする
コードの見た目がよくなる気がするといった効果があります。
    if (str == "") {
    }
 
さて、文字列が空白以外にNullの場合もあり得る場合、次のように書いていました。
    if (str == null || str == String.Empty) {
    }
 
.NET 2.0になってから ??演算子というものが追加されたようです。
SQL ServerのISNULLのような感じで値がNullであった場合に指定した値を返すことができます。
    if ((str ?? String.Empty) == String.Empty) {
    }
 
便利なのですが、あまり見た目がよくないなぁ...と思っていたところ、 同じく.NET 2.0から追加された String.IsNullOrEmpty というものを発見しました。
名前のままですが、文字列が空白かNullであるかを判定してくれます。
    if (String.IsNullOrEmpty(str)) {
    }
あまり比較している感が無いのが欠点ですが、??演算子よりは見た目がスッキリしてよいのではないでしょうか?  

0 件のコメント: