2015-01-16 191 views
5

我有文字。例如string text = "COMPUTER"
我想將它分成字符,以保持每個字符爲字符串。
如果有任何分隔符,我可以使用text.Split(delimiter)
但沒有任何分隔符,我將其轉換爲字符數組
text.ToCharArray().toList()
然後我得到List<char>。但我需要List<string>
那麼如何將List<char>轉換爲List<string>如何將c#中的列表<char>轉換爲列表<string>?

回答

11

只是遍歷字符的集合,每個轉換爲字符串:

var result = input.ToCharArray().Select(c => c.ToString()).ToList(); 

或更短(和更有效的,因爲我們沒有創造額外的陣列之間):

var result = input.Select(c => c.ToString()).ToList(); 
1

嘗試以下

string text = "COMPUTER" 
var listOfChars = text.Select(x=>new String(new char[]{x})).ToArray() 
1

使用事實,即string是internall Ÿ已經非常接近了char[]

方法不LINQ:

List<string> list = new List<string(); 
for(int i = 0; i < s.Length; i++) 
    list.Add(s[i].ToString()); 
2

試試這個

var result = input.Select(c => c.ToString()).ToList(); 
+0

爲什麼這個downvoted? – Ripple

+1

@Ripple:因爲答案已被編輯(但仍在最初的「無歷史」時間窗口內)。最初的回答與問題無關 – knittl

+0

@knittl明白了,但現在downvoter應該取消它... – Ripple

1
string bla = "COMPUTER"; //Your String 
    List<char> list = bla.ToCharArray().ToList(); //Your char list 
    List<string> otherList = new List<string>(); //Your string list 
    list.ForEach(c => otherList.Add(c.ToString())); //iterate through char-list convert every char to string and add it to your string list 
0

使用此:

重點:

charList是你的字符清單

strList是你的字符串列表

代碼:

List<string> strList = new List<string>(); 
foreach(char x in charList) 
{ 
    strList.Add(x.ToString()); 
} 
相關問題