2011-04-19 121 views
2

我有一個像這樣的字符串:字符串列表解析

項目1,項目2,項目3

但也可能是

項目1

是有一個光滑的.net方法把它變成一個List?

回答

4

LINQ有辦法把陣列串,太:

var inputString = "item1;item2;item3"; 
var asList = inputString.Split(';').ToList(); 
+0

我喜歡這樣。很好,很容易閱讀。 – Vaccano 2011-04-19 19:41:57

5
var yourString = "Item1;Item2;Item3"; 

var result = new List<string>(yourString.Split(';')); 
+0

我認爲'Split'方法有一個重載傳遞char而不是Array的方法:'yourS tring.Split(';')' – Homam 2011-04-19 19:47:31

+0

它存在於[第一個](http://msdn.microsoft.com/en-us/library/b873y76a.aspx)中檢查'params' – Homam 2011-04-19 19:55:15

+0

Microsoft確實記錄了http:/ /msdn.microsoft.com/en-us/library/b873y76a.aspx表示簽名是params char []。 params是重要的部分。參見params的定義http://msdn.microsoft.com/en-us/library/w5zay9db(VS.71).aspx。如果你想分割多個字符,你實際上可以做yourString.Split(';','a',',')。 – btlog 2011-04-19 19:56:34

1
var input = "Item1;Item2;Item3"; 
var list = input.Split(new[] {";"}, StringSplitOptions.None).ToList(); 
0

以下是我願意做的是:

string[] arr = str.Split(new char[] { ';' }); 
List<string> list = new List<string>(arr);