為什麼Boolean.ToString() 回傳「True」而不是「true」
.NET 中的Boolean.ToString() 方法回傳根據布林物件的值,為“True”或“False”。這種大寫的原因尚不清楚,多年來一直是猜測的主題。
MSDN 解釋
根據 MSDN,Boolean.ToString() 傳回常數 " True」或「False」而非欄位 TrueString 或 FalseString。這是因為 XML 區分大小寫,並且 XML 規範將“true”和“false”識別為有效的布林值。 MSDN 建議在將傳回的字串寫入 XML 檔案之前使用 String.ToLower() 方法將其轉換為小寫。
Hacky Solutions
由於這種大寫,有可能是回傳值與小寫敏感上下文不相容的情況。解決此問題的一個巧妙的解決方案是建立一個擴充方法,針對特定用例(例如 XML)將布林值轉換為小寫。例如:
internal static string ToXmlString(this bool b) { return b.ToString().ToLower(); }
此方法會為堆疊新增一個函數,但無需在多個位置手動將字串轉換為小寫。
替代方法
Boolean.ToString(IFormatProvider) 方法也存在,但其備註部分指出IFormatProvider 參數確實不參與該方法的執行,並且不反映特定於文化的設置。因此,這種替代方法不提供任何自訂選項。
以上是為什麼 `Boolean.ToString()` 回傳「True」和「False」而不是「true」和「false」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!