无法将string []转换为char []

时间:2013-10-03 16:09:53

标签: c#

我有一个文本框(textBoxA),我会对内容进行拆分,单个字母会将它们放在char []数组中(我不会使用这些列表)。这是我使用的代码,我错了?

char[] but = textBoxA.Text.Split("-".ToCharArray());

5 个答案:

答案 0 :(得分:2)

如果您不介意迭代,请使用Linq :)(using System.Linq;

char[] but = textBoxA.Text.Split('-').Select(s => Convert.ToChar(s)).ToArray();

答案 1 :(得分:1)

考虑一下你在做什么。 String.Split返回一个字符串数组(string [])。如果您假设您的输入只是单个字符,那么您可以使用:

char[] values = textBoxA.Text.Split(new [] { '-' }, StringSplitOptions.RemoveEmptyEntries).Select(e => e[0]).ToArray( );

答案 2 :(得分:0)

将返回string的数组。参见

string[] but = textBoxA.Text.Split("-".ToCharArray());

此外,

string[] but = textBoxA.Text.Split('-');

答案 3 :(得分:0)

Split返回一个字符串数组。如果你想要一个char数组按顺序包含每个字符串,你必须循环到Split返回的数组,单独转换每个字符串Append(或Add,不能回想一下正确的语法),即转换到目标数组产生的char数组。

答案 4 :(得分:0)

您也可以使用..

string s = "A-B-C-D-E";
char[] but = s.Split('-').Select(Convert.ToChar).ToArray();

......比其中一个答案略短。