6

如何将字符串拆分为列表?我正在寻找 ToCharArray 的等价物,而是将其设为列表。

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

您如何转换数据以使其被 AddRange 接受?

4

4 回答 4

16

如果您想要一个字符列表,那么您将使用 aList<char>而不是List<string>,然后您根本不需要对字符串做任何事情。该AddRange方法需要一个IEnumerable<char>并且String该类恰好实现了IEnumerable<char>

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

如果您希望 aList<string>保留字符,则需要将每个字符转换为字符串:

string data = "ABCDEFGHIJ1fFJKAL";
List<string> datalist = new List<string>();
datalist.AddRange(data.Select(c => c.ToString()));
于 2014-11-23T03:23:53.020 回答
4

由于新列表实例的初始化接受一个集合,其元素将被复制到新列表中,因此 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()));
于 2018-01-26T20:26:40.213 回答
1

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

于 2018-11-27T19:56:07.623 回答
0

这是一种方法

string data = "ABCDEFGHIJ1fFJKAL";
List<string> datalist = new List<string>();
datalist.AddRange(data.Select (d => d.ToString()));
于 2014-11-23T03:21:12.577 回答