C#で文字列のTrueやFalseを比較する
bool が文字列として入っている変数を判定する場合の注意です。
こういう書き方でも要件は満たせますが、文字列として "True" とかソースに書いちゃうのはあまり良くないですね。
今回のような判定を何万行も繰り返すのはデータコンバート以外ではないでしょうが、覚えておくといいと思います。
大文字/小文字を区別しないで文字列を比較するには?[C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/624ignorecase/ignorecase.html
C#におけるboolの判定
よくありがちな書き方です。こういう書き方でも要件は満たせますが、文字列として "True" とかソースに書いちゃうのはあまり良くないですね。
var boolValue1 = "True"; if (boolValue1 == "True") { // 文字列は True。条件にマッチします。 } if (boolValue1 == "true") { // 条件にマッチしません } if (boolValue1.ToUpper() == "true".ToUpper()) { // 条件にマッチするけど、イケてない書き方です。 }string.Compare を使った例です。
if (string.Compare(boolValue1, bool.TrueString, true) == 0) { // 文字列は True。true でもいいし、TRue でもマッチします。 }bool 値を文字列で返してくれる bool.TrueString はあまり目にしませんが、これなら文字列として "true" とか書かなくてもいいので覚えておくとスマートな書き方になります。また、string.Compare の方が、ToUpper() よりもパフォーマンスは良いです。
今回のような判定を何万行も繰り返すのはデータコンバート以外ではないでしょうが、覚えておくといいと思います。
大文字/小文字を区別しないで文字列を比較するには?[C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/624ignorecase/ignorecase.html