c# - 如何将 bool 值一般格式化为是/否字符串?

标签 c# formatting coding-style string-formatting

我想根据一些 bool 变量以不同的语言显示是/否。
有没有一种通用的方法来根据传递给它的语言环境对其进行格式化?
如果没有,除了 boolVar 之外,格式化 bool 值的标准方法是什么? Resources.Yes : Resources.No.
我猜这涉及到 boolVar.ToString(IFormatProvider)
我的假设正确吗?

最佳答案

框架本身并没有为你提供这个(据我所知)。将 true/false 翻译成 yes/no 并没有让我觉得比其他潜在翻译更常见(例如 on/off已选中/未选中只读/读写或其他)。

我认为封装行为的最简单方法是创建一个扩展方法,该方法包含您在问题中建议自己的构造:

public static class BooleanExtensions
{
    public static string ToYesNoString(this bool value)
    {
        return value ? Resources.Yes : Resources.No;
    }
}

用法:

bool someValue = GetSomeValue();
Console.WriteLine(someValue.ToYesNoString());

关于c# - 如何将 bool 值一般格式化为是/否字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5632920/

相关文章:

visual-studio - 如何在 Visual Studio 2010 中获得 javascript 的缩进大括号

java - 使用 getter 或直接使用名称获取其自己的类中的私有(private)变量?

java - 方便地在 enum 和 int/String 之间映射

objective-c - 如何避免部分基类中的 "incomplete implementation"警告

c# - 在 SSIS 中使用 C# 连接到 SharePoint 列表

c# - 如何访问网站客户端的内容?

c# - 如何更高效地构建 MVC C# 应用程序?

c# - Razor (Web Pages) 布局页面先于 RenderBody 执行

c++ - 如何实现以下C++输出格式?

formatting - 如何使用格式指令生成列表索引