Mi piacerebbe fare qualcosa del genere:
Dim Foo as String = "a,b,c,d,e"
Dim Boo as List(of String) = Foo.Split(","c)
Ovviamente Foo.Split
restituisce una matrice unidimensionale di String
, non un generico List
. C'è un modo per farlo senza scorrere l'array per trasformarlo in un generico List
?
risposte:
32 per risposta № 1Se non vuoi usare LINQ, puoi fare:
Dim foo As String = "a,b,c,d,e"
Dim boo As New List(Of String)(foo.Split(","c))
7 per risposta № 2
Puoi usare il costruttore di List.
String foo = "a,b,c,d,e";
List<String> boo = new List<String>(foo.Split(","));
6 per risposta № 3
Hai davvero bisogno di una lista <T> o il IList <T> fare? Perché string [] implementa già quest'ultimo ... solo un altro motivo per cui vale la pena di programmare le interfacce dove è possibile. (Potrebbe essere che in questo caso non si può davvero, t, ammettiamolo).
4 per risposta № 4
Il metodo più semplice sarebbe probabilmente il metodo AddRange.
Dim Foo as String = "a,b,c,d,e"
Dim Boo as List(of String)
Boo.AddRange(Foo.Split(","c))
0 per risposta № 5
Se si utilizza Linq, è possibile utilizzare il metodo di estensione ToList ()
Dim strings As List<string> = string_variable.Split().ToList<string>();
0 per risposta № 6
Ecco come lo sto facendo ... dal momento che la divisione è alla ricerca di un array di caratteri, toglierò il primo valore della mia stringa.
var values = labels.Split(" "[0]).ToList<string>();
0 per risposta № 7
Per costruire sulla risposta, Ive ha trovato il seguente molto utile:
Return New List(Of String)(IO.File.ReadAllLines(sFileName))