私は最近、会社に所属していない作成者からいくつかのコードの所有権を取得しました。コード全体で、この行を見つけています
if (string.Compare(string.Empty, textbox1.Text, true) == 0)
私は最先端の C# プログラマーではありませんが、機能的には C# と同じように思えます。
if (textbox1.Text == "")
最初の行がキャッチし、2 番目の行がキャッチしないエッジ ケースはありますか?
私は最近、会社に所属していない作成者からいくつかのコードの所有権を取得しました。コード全体で、この行を見つけています
if (string.Compare(string.Empty, textbox1.Text, true) == 0)
私は最先端の C# プログラマーではありませんが、機能的には C# と同じように思えます。
if (textbox1.Text == "")
最初の行がキャッチし、2 番目の行がキャッチしないエッジ ケースはありますか?
実際には、代わりに使用する必要がありますString.IsNullOrEmpty(textbox1.Text)
。
コメントで指摘されているように、String.IsNullOrWhitespace
実際には「空の」文字列ではなく、空白だけが含まれていることが多い GUI コントロールを操作しているため、特に便利です。
case を無視して文字列を比較していますが、それは悪い方法です。String.Equals
大文字と小文字を区別せずに文字列を比較するためのオーバーロードがあります。
文字列が空の文字列で構成されているかどうかを確認するには、String.IsNullOrEmpty
を使用する必要があります。.Net Framework 4.0 以降を使用していて、スペースを空の文字列と見なしたい場合は、 を使用できますstring.IsNullOrWhiteSpace
。
値を空の文字列とのみ比較したい場合は、textbox1.Text == ""
ortextbox1.Text == string.Empty
で十分です。