调试System.FormatException

时间:2013-11-20 09:23:36

标签: c# debugging exception runtime-error

“索引(从零开始)必须大于或等于零且小于参数列表的大小。”
(“Der Index,basierend auf 0(null),mussgrößeralsoder gleich Null sein,und kleiner als dieGrößederArgumentenliste。”)

执行该行时

search.Filter = string.Format(filter,filterparams);

其中,在运行时,filter包含"(sAMAccountName={0})(sAMAccountName={1})"filterparams是一个StringList,其中包含两个成员字符串“Testuser”和“Vertrieb”。

试图告诉我的错误消息究竟是什么?

1 个答案:

答案 0 :(得分:3)

错误表示格式字符串中的标记多于参数列表中的标记。 String.Format的第二个参数是一个对象数组(来自MSDN):

public static string Format(
    string format,
    params object[] args
)

StringList不会隐式转换为对象数组,因此String.Format将StringList解释为一个参数 - 因此错误。