我正在尝试将arraylist用作to String.format的参数。

            msg = msg & String.Format("<td>{0}</td>" & _
                                      "<td>{1}</td>" & _ 
                                      "<td>{2}</td>" & _ 
                                      "<td>{3}</td>" & _ 
                                      "<td>{4}</td>" & _ 
                                      "<td>{5}</td>" & _ 
                                      "<td>{6}</td>" & _ 
                                      "<td>{7}</td>" & _
                                      "<td>{8}</td>", param)

其中param为arraylist,并且内容是(从观察列表复制):

+       (0) 9 {Integer} Object
+       (1) 3 {Integer} Object
+       (2) 5 {Integer} Object
+       (3) "180" {String}  Object
+       (4) 0D {Decimal}    Object
+       (5) 6.788D {Decimal}    Object
+       (6) #3/13/2009# {Date}  Object
+       (7) "2004" {String} Object
+       (8) "" {String} Object

但是此代码会引发一个构造感受

Index (zero based) must be greater than or equal to zero and less than the size of the argument list.

可以使用阵列列表我错了吗?如果可能的话,关于为什么会丢弃这样的错误的任何线索?

谢谢

有帮助吗?

解决方案

它接受吗 ArrayList?

你试过了吗:

 "<td>{8}</td>", param.ToArray())

其他提示

您可能需要传递对象数组而不是阵列列表。如果您这样更改代码,您可能会看到出了什么问题:

 msg = msg & String.Format("<td>{0}</td>", param)

它应该打印出类似的东西

<td> system.arraylist <td>

你尝试过吗?

 msg = msg & String.Format("<td>{0}</td>" & _
                           "<td>{1}</td>" & _ 
                           "<td>{2}</td>" & _ 
                           "<td>{3}</td>" & _ 
                           "<td>{4}</td>" & _ 
                           "<td>{5}</td>" & _ 
                           "<td>{6}</td>" & _ 
                           "<td>{7}</td>" & _
                           "<td>{8}</td>", param.ToArray())
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top