我正在尝试隔离(出于本地化目的)某些消息的格式。在其中一种情况下,我有几个参数,其中一些可能是空字符串。这里可能需要一个例子......
如果参数是参数一和参数二那么我希望结果是一些消息参数一(参数二)。
如果参数是 Parameter one 和 string.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)
我是一名优秀的程序员,十分优秀!