true.ToString()
false.toString();
Output:
True
False
是否有一个合理的理由来证明它是“真的”而不是“真的”?当XML的布尔类型是小写时,它就会崩溃,而且也不兼容c#的true/false(不过CLS就不确定了)。
更新
下面是我用c#(用于XML)解决这个问题的一种非常简单的方法。
internal static string ToXmlString(this bool b)
{
return b.ToString().ToLower();
}
当然,这会向堆栈中多添加1个方法,但会在所有地方删除ToLowers()。
我知道为什么它是这样的原因已经被解决了,但当涉及到“自定义”布尔格式时,我有两个扩展方法,我不能再没有了:-)
public static class BoolExtensions
{
public static string ToString(this bool? v, string trueString, string falseString, string nullString="Undefined") {
return v == null ? nullString : v.Value ? trueString : falseString;
}
public static string ToString(this bool v, string trueString, string falseString) {
return ToString(v, trueString, falseString, null);
}
}
使用是微不足道的。下面将各种bool值转换为葡萄牙语表示形式:
string verdadeiro = true.ToString("verdadeiro", "falso");
string falso = false.ToString("verdadeiro", "falso");
bool? v = null;
string nulo = v.ToString("verdadeiro", "falso", "nulo");