我正在尝试隔离(出于本地化目的)某些消息的格式。在其中一种情况下,我有几个参数,其中一些可能是空字符串。这里可能需要一个例子......
如果参数是参数一和参数二那么我希望结果是一些消息参数一(参数二)。
如果参数是 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)
关于c# - 使用 String.Format 时,如果字符串值不为 null 或为空,是否有一种简单的方法可以在字符串值周围添加括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3157952/