String Array in Arraylist umwandeln?
-
Kann man, wie schon im Titel steht ein String Array direkt in eine String-Arraylist umwandeln? Mit einer Schleife kann ich das auch. Aber irgendwie dauert das bei vielen Elementen lange, und irgendwie läuft die Schleife mit zunehmender Anzahl immer langsamer.
Christoph
-
Wenn du .Net 3.5 zur Verfügung hast gibt es dafür eine extension method aus
System.Linq
die sichToList()
nennt.
-
geht nicht. er sagt
Der Wert vom Typ "System.Collections.Generic.List(Of String)" kann nicht in "System.ComponentModel.BindingList(Of String)" konvertiert werden.
-
Zeig halt mal dein Code.
-
Ok mein Fehler (glaube ich). Ich dachte ich würd mit ner Arraylist arbeiten. Aber der Typ ist "BindingList(Of String)".
Dim movies As New BindingList(Of String) Dim temparray(MaximumToLoad) As String Dim aLine As String Dim strReader As New StringReader(temphtml) For i = 0 To MaximumToLoad - 1 aLine = strReader.ReadLine() If aLine IsNot Nothing Then temparray(i) = aLine End If Next
Jetzt muss ich den Inhalt von temparray irgendwie in movies reinkriegen.
-
ToList()
wandelt den Array in eine System.Collections.Generic.List<T> um. Wenn du etwas anderes brauchst wirst du es wohl selbst machen müssen.Nach der Fehlermeldung zu urteilen versuchst du einer Eigenschaft die vom Typ
BindingList
ist etwas zu zuweisen.BindingList
besitzt einen Konstruktor, der ein Arguement vom Typ IList<T> akzeptiert. Dieses Interface wird unter anderem von Array implementiert. D.h du kannst folgendes machen:string[] array = new string [] { "bla" }; BindingList<string> list = new BindingList<string>(array);
Damit sparst du dir die Umwandlung komplett. Wenn du immer noch Probleme hast wäre es sinvoll, dass du mal Code postest.
Btw: Intern macht
ToList()
auch nichts anderes als alle Elemente des Arrays zu durchlaufen. Eine schnellere Möglichkeit gibt es meines Wissens nach nicht.
-
Danke! Das hats gebracht. Jetzt läufts viel schneller