Question

Je suis en train d'utiliser un arraylist comme paramètre à 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)

où est un ArrayList param et le contenu sont ainsi (copiée à partir de la liste de surveillance):

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

Mais ce code jette un FormatException

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

Ai-je tort qu'il est possible d'utiliser un arraylist? S'il est possible, des indices quant à la raison pour laquelle il serait lancer une telle erreur?

Merci

Était-ce utile?

La solution

-t-il accepter une ArrayList?

Avez-vous essayé:

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

Autres conseils

Vous avez probablement besoin de passer dans un tableau d'objet et non un ArrayList. Si vous modifiez le code en tant que tel, vous pouvez voir ce qui se passe mal:

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

Il faut imprimer quelque chose comme

System.ArrayList

Avez-vous essayé?

 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())
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top