/ / Esiste un equivalente a String.Split che restituisce un elenco generico? - vb.net, generici

Esiste un equivalente a String.Split che restituisce un elenco generico? - vb.net, generici

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 № 1

Se 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))