Boolean.ToString() が「True」を返し、「true」ではない理由
.NET の Boolean.ToString() メソッドは次の値を返しますブール値オブジェクトの値に基づいて「True」または「False」のいずれか。この大文字の使用の理由は不明であり、長年にわたって憶測の対象となってきました。
MSDN の説明
MSDN によると、Boolean.ToString() は定数を返します。フィールド TrueString または FalseString ではなく、True」または「False」。これは、XML では大文字と小文字が区別され、XML 仕様では「true」と「false」が有効なブール値として認識されるためです。 MSDN では、返された文字列を XML ファイルに書き込む前に String.ToLower() メソッドを使用して小文字に変換することを推奨しています。
Hacky Solutions
この大文字の使用により、戻り値が小文字を区別するコンテキストと互換性がないシナリオである可能性があります。この問題に対するハックな解決策の 1 つは、XML などの特定の使用例に合わせてブール値を小文字に変換する拡張メソッドを作成することです。例:
internal static string ToXmlString(this bool b) { return b.ToString().ToLower(); }
このメソッドはスタックに新しい関数を追加しますが、複数の場所で文字列を手動で小文字に変換する必要がなくなります。
代替メソッド
Boolean.ToString(IFormatProvider) メソッドも存在しますが、その備考セクションには次のように記載されています。 IFormatProvider パラメーターはメソッドの実行には関与せず、カルチャ固有の設定は反映されません。したがって、この代替方法にはカスタマイズ オプションがありません。
以上が`Boolean.ToString()` が 'true' と 'false' ではなく 'True' と 'False' を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。