Pregunta

Estoy tratando de usar una ArrayList como parámetro para 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)

donde param es una lista de matrices y los contenidos están, por lo tanto (copiados de la lista de vigilancia):

+       (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

Pero este código arroja una FormateException

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

¿Me equivoco de que sea posible usar una ArrayList? Si es posible, ¿alguna pista de por qué estaría lanzando tal error?

Gracias

¿Fue útil?

Solución

¿Acepta un ArrayList?

Has probado:

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

Otros consejos

Probablemente necesite pasar en una matriz de objetos y no en una lista de matrices. Si cambia el código como tal, puede ver lo que va mal:

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

Debería imprimir algo como

<TD> System.ArrayList <TD>

¿Has probado esto?

 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())
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top