使用 String.Format 时出现异常 “索引(从零开始)必须大于或等于零且小于参数列表的大小

本文关键字:等于零 大于 小于 参数 列表 Format String 异常 从零开始 索引 使用 | 更新日期: 2023-09-27 18:35:57

我有一个数组

ArrayList array = new ArrayList();
array.Add("a");
array.Add("b");
array.Add("c");

我有一个字符串变量 refFormat,其格式如下。

string refFormat = "{2} {0}";

我正在尝试从具有这种格式的数组中获取一串值。以下是我写的。

string newStr = String.Format(refFormat,array.ToArray());

当我尝试这样做时,我收到以下异常。

索引(从零开始)必须大于或等于零且小于参数列表的大小。

我知道这个问题听起来重复,但我的疑问是如何从索引是以 20 格式指定的索引的数组中选择值。请帮忙..

编辑:嗨,很抱歉提出了错误的问题。我正在使用数组列表而不是字符串数组,我正在尝试相同的数组。尽管使用 ToArray() 将其转换为数组,但我仍然收到异常。我哪里出错了?而且我也不能在这里使用 List 而不是 arraylist,因为数组包含不同类型的数据。请帮助我..

使用 String.Format 时出现异常 “索引(从零开始)必须大于或等于零且小于参数列表的大小

作为参考,这也是我的工作代码:

string[] array = new string[] { "a", "b", "c", "d" };
string refFormat = "{2} {0}";
string newStr = String.Format(refFormat, array);
Console.WriteLine(newStr);

运行上述代码时我没有遇到错误。

你没有正确给出参数,它需要被索引为 {0} {1}

等等
String.Format(refFormat,array[2],array[0]);