




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