Ответ 1
Если вы не хотите использовать LINQ, вы можете сделать:
Dim foo As String = "a,b,c,d,e"
Dim boo As New List(Of String)(foo.Split(","c))
Я хотел бы сделать что-то вроде этого:
Dim Foo as String = "a,b,c,d,e"
Dim Boo as List(of String) = Foo.Split(","c)
Конечно, Foo.Split
возвращает одномерный массив String
, а не общий List
. Есть ли способ сделать это без повторения через массив, чтобы превратить его в общий List
?
Если вы не хотите использовать LINQ, вы можете сделать:
Dim foo As String = "a,b,c,d,e"
Dim boo As New List(Of String)(foo.Split(","c))
Вы можете использовать конструктор List.
String foo = "a,b,c,d,e";
List<String> boo = new List<String>(foo.Split(","));
Вам действительно нужен List <T> или IList <T> do? Поскольку string [] уже реализует последнее... просто еще одна причина, по которой стоит программировать интерфейсы, где вы можете. (Может быть, в этом случае вы действительно не можете, по общему признанию.)
Самый простой метод, вероятно, будет методом AddRange.
Dim Foo as String = "a,b,c,d,e"
Dim Boo as List(of String)
Boo.AddRange(Foo.Split(","c))
Если вы используете Linq, вы можете использовать метод расширения ToList()
Dim strings As List<string> = string_variable.Split().ToList<string>();
Вот как я это делаю... так как split ищет массив char Я снимаю первое значение в моей строке.
var values = labels.Split(" "[0]).ToList<string>();
Чтобы ответить на этот вопрос, Ive нашел следующее очень полезным:
Return New List(Of String)(IO.File.ReadAllLines(sFileName))