Ric*_*ter 7 c# string formatting
我试图隔离(出于本地化目的)某些消息的格式.在其中一种情况下,我有几个参数,其中一些可能是一个空字符串.这里可能需要一个例子....
如果参数是参数1和参数2,那么我希望结果是某些消息参数1(参数2).
如果参数是参数1和string.Empty,那么我希望结果是某些消息参数1
如果参数2是一个数值,那么我可以使用类似的东西:
String.Format("Test {0}{1:' ('#')'}", "Parameter one", 12);
这正如我所期望的那样运行 - 特别是如果第二个参数为null,则输出只是测试参数1.
不幸的是,我还没有找到一个类似于字符串参数的选项.有吗?
澄清:我完全了解在代码中获得所需结果的多种方法.我特别想知道是否有一个类似于上面显示的数字字符串的内置机制.
您始终可以尝试通过实现来编写自己的自定义字符串格式化程序IFormatProvider and ICustomFormatter
然后将其调用为
var stringValue = string.Format(new NewCustomStringFormatInfo(),
"Test {0}{1:' ('#')'}", "Parameter one", 12)
Run Code Online (Sandbox Code Playgroud)