我可以使用C#字符串格式和运行时决定的输入数量吗?

Bre*_*dan 1 c# format string-formatting

我有一个程序,它在配置文件中定义了各种单位转换,包括如何显示它们的字符串格式.要显示米,厘米等,格式只需要一个输入,但是对于英尺和英寸,需要两个输入(其他单位转换可能需要更多输入).

我知道运行时从List<>包含输入值的泛型的长度开始的参数数量.我可以以某种方式将其输入到C#中String.Format吗?

澄清一个例子:

因此,配置中定义的格式可以是"{0} ft. {1} in."英尺和英寸,也可以是"{0} cm."厘米.代码相应地生成一个或两个值,并将它们放在一个List<float>通用容器中.然后我需要将代码放入一个String.Format语句中,但String.Format不要List<float>作为参数(据我所知).

我比Python更了解Python,并且由于它的动态特性,我可以使用星号在列表中解包参数.即格式字符串my_format.format(*args_list)在哪里my_format.

C#中有类似的东西吗?

Guf*_*ffa 5

格式字符串后面的参数可以作为对象数组提供.

例:

string format = "{0} feet {1} inches";
object[] parameters = { 4, 2 };

string formatted = String.Format(format, parameters);
Run Code Online (Sandbox Code Playgroud)