C#中能否在String.Format方法内使用条件判断语句?
问题解答:String.Format参数中使用三元运算符是否可行?
完全可行,你的写法是合法的C#代码。
String.Format方法的参数接受任意合法的表达式,三元运算符?:属于C#的合法表达式,它会先完成条件判断并计算出最终值,再将结果作为参数传递给String.Format,所以{3}对应的位置会正确替换成计算后的数值。
如果后续这个条件逻辑变得更复杂,或者需要多次复用,把这个表达式抽成单独的变量会让代码更易读,比如:
var aValue = numericUpDown5.Value > 0 ? numericUpDown5.Value : numericUpDown5.Value + 3; result = String.Format("G{0}P{1}C{2}A{3}", numericUpDown2.Value, numericUpDown3.Value, numericUpDown4.Value, aValue);
内容的提问来源于stack exchange,提问作者Diogo
相关产品推荐
相关产品推荐

