ToCharArray等效于List <string> </string>

时间:2014-11-23 03:15:31

标签: c# arrays addrange

如何将字符串拆分为List?我正在寻找相当于ToCharArray的东西,而是把它变成一个List。

string data = "ABCDEFGHIJ1fFJKAL";
List<string> datalist = new List<string>();
datalist.AddRange(new List<string>{"A","B","C"});

如何转换数据以便AddRange接受?

4 个答案:

答案 0 :(得分:10)

如果你想要一个字符列表,那么你可以使用List<char>而不是List<string>,然后你就不需要对字符串做任何事情了。 AddRange方法需要IEnumerable<char>,而String类恰好实现IEnumerable<char>

string data = "ABCDEFGHIJ1fFJKAL";
List<char> datalist = new List<char>();
datalist.AddRange(data);

如果你想要List<string>来保存字符,那么你需要将每个字符转换为字符串:

string data = "ABCDEFGHIJ1fFJKAL";
List<string> datalist = new List<string>();
datalist.AddRange(data.Select(c => c.ToString()));

答案 1 :(得分:2)

由于新列表实例的初始化接受其元素将被复制到新列表的集合,因此Guffa的答案可以缩短为:

string data = "ABCDEFGHIJ1fFJKAL";
List<char> datalist = new List<char>(data);

string data = "ABCDEFGHIJ1fFJKAL";
List<string> datalist = new List<string>(data.Select(c => c.ToString()));

答案 2 :(得分:0)

这是一种方式

string data = "ABCDEFGHIJ1fFJKAL";
List<string> datalist = new List<string>();
datalist.AddRange(data.Select (d => d.ToString()));

答案 3 :(得分:0)

如果您希望结果为List<char>,则str.ToList()将起作用。