string nr = "42245555" //just an example number
string expression = "{5}{6}/{7}{8}";
string res = String.Format(expression, new string[] {
nr[0].ToString(),nr[1].ToString(),
nr[2].ToString(), nr[3].ToString(),
nr[4].ToString(), nr[5].ToString(),
nr[6].ToString(), nr[7].ToString()
});
为什么这不起作用,我该如何解决?
我希望表达式是 "{5}{6}/{7}{8}"或 "{0}{3}/{7}{1}"
或用户想要的任何内容。
最佳答案
您必须提供至少与最高占位符值加一(占位符值从零索引)相同数量的参数(或至少具有相同数量元素的数组)
最大占位符值 {3},您必须至少提供四个附加参数。
试试这个:
string res = String.Format(expression,
nr[0], nr[1],
nr[2], nr[3],
nr[4], nr[5],
nr[6], nr[7]);
请注意,我取出了 new string[] { ... } 我还取出了所有 ToString()
,因为它们不是必需的。
关于c# - String.Format - 参数列表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149359/