Boolean.ToString 出力の大文字と小文字の不一致
.NET では、Boolean.ToString() メソッドがブール値を文字列に変換します。真の場合は「True」を返し、偽の場合は「False」を返します。この大文字と小文字の区別は、特に XML または C# の true/false キーワードとの互換性が重要なコンテキストにおいて疑問を引き起こします。
MSDN の説明
MSDN によると、Boolean.ToString( ) フィールド TrueString または FalseString ではなく、定数「True」または「False」を返します。このメソッドは、ブール値として "true" と "false" を必要とする XML とは異なり、大文字と小文字を区別しません。
予期しない動作
ドキュメントには XML と記載されているにもかかわらず、小文字のブール値が必要な場合、ToString() メソッドは大文字の値を返します。この動作は互換性の問題を引き起こす可能性があり、XML アプリケーションで ToLower() などのメソッドを使用して手動で変換する必要があります。
基礎となる実装
さらに混乱を招くのが、Boolean.ToString( IFormatProvider) も特有の動作を示します。プロバイダー パラメーターは予約されており、メソッドの実行には影響を与えないため、他のプロバイダーに依存するメソッドでは一般的であるにもかかわらず、本質的には役に立ちません。
解決策
この不一致の解決方法は、特定のシナリオによって異なります。ただし、通常は、更新セクションで提供されるカスタム ToXmlString() メソッドのような回避策の導入が必要になります。このメソッドは、XML で使用する文字列を返す前にブール値を小文字に変換します。
以上が.NET の `Boolean.ToString()` が大文字の 'True' と 'False' を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。