我想要做這樣的事情:是否有與String.Split等效的返回通用列表?
Dim Foo as String = "a,b,c,d,e"
Dim Boo as List(of String) = Foo.Split(","c)
當然Foo.Split
返回String
一維數組,而不是一個通用的List
。有沒有辦法做到這一點,而不需要遍歷數組來將它變成一個通用的List
?
我想要做這樣的事情:是否有與String.Split等效的返回通用列表?
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))
如果你使用Linq,你可以使用ToList()擴展方法
Dim strings As List<string> = string_variable.Split().ToList<string>();
正是你打算如何使用LINQ查詢以逗號分隔的字符串? – 2008-10-14 15:22:12
他不查詢它。 ToList()擴展方法Code Monkey在他的回答中顯示的只是通用名爲「Linq」的功能類的一部分(並且用於支持LINQ查詢,但您可以將其用於其他事情) – 2008-10-14 15:28:47
您可以使用List的構造函數。
String foo = "a,b,c,d,e";
List<String> boo = new List<String>(foo.Split(","));
給@Bob國王回答在VB.NET - 謝謝。 – 2008-10-14 15:25:50
對不起墊子!別往心裏放! – 2008-10-14 19:26:50
你真的需要一個List < T>或將IList的< T>嗎?因爲string []已經實現了後者...只是另一個值得編程的接口。 (當然,在這種情況下,你真的不能這樣做)。
最簡單的方法可能是AddRange方法。
Dim Foo as String = "a,b,c,d,e"
Dim Boo as List(of String)
Boo.AddRange(Foo.Split(","c))
這是我如何做它...因爲分裂正在尋找一個字符數組我剪掉我的字符串中的第一個值。
var values = labels.Split(" "[0]).ToList<string>();
要建立對答案,我已經發現了以下非常有幫助:
Return New List(Of String)(IO.File.ReadAllLines(sFileName))
不知道把字符串作爲字符的`c` ......我一直使用`new Char(){「,」}`代替。這是一個**很多* neater – freefaller 2016-12-31 13:56:27