编程语言
首页 > 编程语言> > C#String.Format可选参数

C#String.Format可选参数

作者:互联网

我想使用带有可选参数的string.Format:

public static void Main(string[] args)
{
    // Your code goes here
    // Console.WriteLine(string.Format("{0} {1}", "a", "b"));
    Console.WriteLine(string.Format("{0} {1}", "a"));
}

例如,参数{1}是可选的并具有默认值

你能帮帮我吗?

解决方法:

这取决于“可选参数”的含义.

如果要使用默认值自动替换null,最简单的方法是在参数内使用null coalescing运算符:

String.Format("{0} {1}", 
              "a",
              someNullableVariableContainingB ?? "default value");

如果要为多个String.Format调用重用相同的格式化字符串,例如

var myFormatString = "{0} {1}";
var string1 = String.Format(myFormatString, "a", "b");
var string2 = String.Format(myFormatString, "a");

那么你运气不好:如果参数太少,String.Format会抛出异常
提供,并且无法在格式字符串中指定“可选参数”.您将不得不使用除String.Format之外的其他内容,例如,使用其预期的默认值替换缺少的参数的自定义方法.

标签:c,string-format,parameters,optional
来源: https://codeday.me/bug/20190528/1172043.html