2017-07-19 8 views
-1

Dies ist ein Konzept, das ich versuche, für mein Programm zu verstehen. Der folgende Code wurde zu Erläuterungszwecken geändert. Hoffe, dass mein Ziel ist klarWie alle Inhalte einer Liste ausgeben?

Dim List As New List(Of String)() 'the size and contents of the list is not constant 
Dim test As String 

List.Add("Hello") 
List.Add("World") 

    test = Nothing 
    For Each test In errorsList 
     Console.WriteLine(test) ' outputs "Hello" and "World" 

    Next 
    MsgBox(test) 'Outputs "World" 

Wie kann ich test Ausgang sowohl "Hello" und "World" haben, so dass ich es später in meinem Code verwenden kann?

+0

'String.Join (...)'? – Plutonix

Antwort

0

können Sie fügen

test = String.Join(" ", list) 

vor MsgBox

0

Die Frage ist sind Sie die Zeichenfolge jedes Mal überschrieben wird, während Sie es erstreckt werden müssen, aber das Hinzufügen der nächste Punkt auf der Liste, um es .

Wie oben vorgeschlagen, können Sie String.Join(" ", list) verwenden.

Es gibt andere Möglichkeiten, wie Sie eine Zeichenfolge verketten können, wenn Sie ein kaufmännisches Undzeichen verwenden, ist eins (&). Warum nicht einfach die Liste in der Messagebox ausgeben, ist das nicht einfacher?

+0

Wenn ich "list.toString" in einem Meldungsfeld ausgibt, bekomme ich "System.Collections.Generic.List" –

+1

@RogerRivas Harambe hat nichts über 'list.ToString()' gesagt. Auch Kommentare zu dieser Antwort würde ich nicht & für eine Liste verwenden, falls weitere Elemente hinzugefügt werden. 'String.Join' und' IEnumberable.Aggregate (Of String)() '(oder StringBuilder) unterstützen größere Sammlungen von Strings als nur zwei Elemente und sollten bevorzugt werden, wenn Wachstum möglich ist. – djv

Verwandte Themen