c# - 使用 String.Format 时,如果字符串值不为 null 或为空,是否有一种简单的

我正在尝试隔离(出于本地化目的)某些消息的格式。在其中一种情况下,我有几个参数,其中一些可能是空字符串。这里可能需要一个例子......

如果参数是参数一参数二那么我希望结果是一些消息参数一(参数二)

如果参数是 Parameter onestring.Empty 那么我希望结果是 Some message Parameter one

如果参数二是一个数值,那么我可以使用类似的东西:

String.Format("Test {0}{1:' ('#')'}", "参数一", 12);

这按我的预期运行 - 特别是如果第二个参数为 null,则输出只是 Test Parameter one

不幸的是,我(还)没有找到与字符串参数一起使用的类似选项。有吗?

澄清:我完全了解在代码中获得所需结果的多种方法。我特别想知道是否有与上面显示的数字字符串类似的内置机制。

最佳答案

您总是可以尝试通过实现 IFormatProvider 和 ICustomFormatter

来编写自己的自定义字符串格式化程序

然后调用它为

var stringValue = string.Format(new NewCustomStringFormatInfo(),
     "Test {0}{1:' ('#')'}", "Parameter one", 12)

关于c# - 使用 String.Format 时,如果字符串值不为 null 或为空,是否有一种简单的方法可以在字符串值周围添加括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3157952/

相关文章:

R - 绘图标签文本的文本格式 - 删除线

html - Crystal Report 显示 HTML 文本,但不显示项目符号。为什么?

formatting - 从 Mathematica 导出自定义格式的表达式

xml - 如何使用 gVim 格式化未格式化的 XML 文档?

string - 什么函数用于格式化/替换 Grails/Groovy 中字符串中的 {0} {1}

html - 用于 HTML 和 CSS 中的双面打印的甚至分页符

c++ - printf() 中宽度小于精度的意义何在?

formatting - 如何在我的博客文章中使用 stackoverflow 样式标记?

mysql - 如何将 MySQL 结果以表格式存储到文件中

python - 在 Python 中口头格式化数字