c# - String.Format - 参数列表问题

标签 c# string

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/

相关文章:

c# - MySQL 实体更新

c# - 允许用户删除我的应用程序正在使用的文件?

c# - 如何在绑定(bind)到 DataTable 的 ComboBox 中插入 'Empty' 字段

c# - C# 中的自定义字符串格式化程序

c# - 如何在区间条形图中绘制水平线和垂直线 - oxyplot - WPF

c# - 如何使用 linq 从 Excel 中检索数据?

c malloc() - 我需要为空终止符分配空间吗

java - Java中如何检查字符串的名称是否与整数的名称相同?

c - 查找段落中单个字数的程序

string - 获取句子中单词的第一个字母