如何将布尔值转换为本地化字符串

8
有一种方法可以将布尔值转换为本地化字符串。我已经尝试过以下方法:
var x = true;

var culture = new CultureInfo("en-US")
x.ToString(culture) // returns True

culture = new CultureInfo("pt-BR")
x.ToString(culture) // returns True, expected Verdadeiro

我是否应该现在开始切换,以便在2020年之前结束?


那是将字符串转换为布尔值的方法,我想要相反的方向。 - Marcelo de Aguiar
开始打字吧,因为在你真正“看到”其他语言之前,你必须在Windows中安装语言包。 - Silvermind
好的,有很多语言都有NumberFormat和Calendars,为什么没有Boolean字符串呢? - Marcelo de Aguiar
如果您不想全部打出来,那么 x ? "1" : "0" 是最简单的解决方案,这可能是最通用的。 - Silvermind
我现在开始打switch语句,以便在2020年之前结束。你完成了switch语句吗?滴答滴答,2020已经到来了 :) - dani herrera
@daniherrera 哎呀,需要找到一个借口利用封锁来推迟在下一个冲刺中交付这个任务... - Marcelo de Aguiar
2个回答

9

好的,开始输入,因为这是文档化的行为 :)

Boolean.ToString(IFormatProvider)

备注

提供程序参数被保留。它不参与此方法的执行。这意味着 Boolean.ToString(IFormatProvider) 方法与大多数带有提供程序参数的方法不同,不反映特定于文化的设置。


0
正如 @Michal 指出的,这是有文献记录的行为。
如果你的系统支持多种语言,你必须拥有某种形式的i18支持。使用它将布尔值转换为字符串。你可以添加一个扩展方法,如下所示:
public string ToLocalizedString(this bool b)
{
    return ...i18n version of true or false...
}

如果你要写一个代码示例,你应该确保它能够编译通过,而且不包含伪代码。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接