質問

string.formatのパラメーターとしてarrayListを使用しようとしています。

            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はアレイリストであり、このようにコンテンツは(ウォッチリストからコピーされています):

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

しかし、このコードはformatexceptionをスローします

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

ArrayListを使用することが可能であることは間違っていますか?それが可能であれば、なぜそれがそのようなエラーを投げるのかについての手がかりはありますか?

ありがとう

役に立ちましたか?

解決

それは受け入れますか? 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