Frage

Ich versuche, eine ArrayList als Parameter für String.format zu verwenden.

            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)

wobei der Param eine Arraylist ist und der Inhalt somit (kopiert aus der Beobachtungsliste):

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

Dieser Code wirft jedoch eine Formatexception aus

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

Ist ich falsch, dass es möglich ist, eine ArrayList zu verwenden? Wenn es möglich ist, würde irgendwelche Hinweise darauf, warum es einen solchen Fehler werfen würde?

Vielen Dank

War es hilfreich?

Lösung

Akzeptiert es eine ArrayList?

Hast du versucht:

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

Andere Tipps

Sie müssen wahrscheinlich ein Objektarray und keine Arraylist übergeben. Wenn Sie den Code als solcher ändern, sehen Sie möglicherweise, was schief geht:

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

Es sollte so etwas drucken

<td> System.ArrayList <Td>

Hast du das versucht?

 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())
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top