我知道它为什么会变成现在这个样子,但是当涉及到“自定义”布尔格式化时,我有两种扩展方法已经离不开了:-)
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);
}
}
使用非常简单。以下代码将各种布尔值转换为它们的葡萄牙表示:
string verdadeiro = true.ToString("verdadeiro", "falso");
string falso = false.ToString("verdadeiro", "falso");
bool? v = null;
string nulo = v.ToString("verdadeiro", "falso", "nulo");
return b.ToString().ToLower();
替换为return b ? "true" : "false";
。这样更简洁、高效,更不依赖理论上可能会受区域设置影响的方法(尽管在当前实现中并未受到影响)。 - Jon Hanna