【发布时间】:2013-04-18 03:33:38
【问题描述】:
举个例子:
string amountDisplay = presentation.Amount == 1 ? "" : String.Format("{0} x ", presentation.Amount);
无论如何都可以使用 String.Format,因此它可以根据属性进行格式化,而不必对参数的“值”进行条件处理?
另一个用例:
String.Format("({0}) {1}-{2}", countryCode, areaCode, phonenumber);
如果我只有电话号码,我最终会得到类似“() -5555555”的东西,这是不可取的。
另一个用例:
String.Format("my {0} has {1} cat[s]", "Aunt", 3)
在这种情况下,如果值 > 1,我想在 [] 中包含 s。
String.Format 是否有任何黑色“语法”根据参数值或 null 删除代码部分?
谢谢。
【问题讨论】:
-
您可以对区分正数、负数和零的数字执行条件 - msdn.microsoft.com/en-us/library/0c899ak8.aspx#SectionSeparator
-
@eulerfx 您的评论应该是答案。这正是我在这里问的,如果有办法做到这一点,你证明完美。其他解决方案还可以,但都是黑客,你的就是我所说的问题的真正答案。随意发布它作为答案,以便我可以选择它们作为正确的答案。
标签: c#