我有一个文本框(textBoxA),我会对内容进行拆分,单个字母会将它们放在一个 char[] 数组中(我不会使用列表)。这是我使用的代码,我错在哪里?
char[] but = textBoxA.Text.Split("-".ToCharArray());
我有一个文本框(textBoxA),我会对内容进行拆分,单个字母会将它们放在一个 char[] 数组中(我不会使用列表)。这是我使用的代码,我错在哪里?
char[] but = textBoxA.Text.Split("-".ToCharArray());
如果您不介意迭代,请使用 Linq :) ( using System.Linq;
)
char[] but = textBoxA.Text.Split('-').Select(s => Convert.ToChar(s)).ToArray();
考虑一下你在做什么。String.Split 返回一个字符串数组 (string[])。如果您假设您的输入只是单个字符,那么您可以使用:
char[] values = textBoxA.Text.Split(new [] { '-' }, StringSplitOptions.RemoveEmptyEntries).Select(e => e[0]).ToArray( );
string
将返回数组。看
string[] but = textBoxA.Text.Split("-".ToCharArray());
还,
string[] but = textBoxA.Text.Split('-');
Split
返回一个字符串数组。如果您想要一个每个字符串按顺序排列的 char 数组,您必须循环到由返回的数组Split
,分别转换每个字符串和Append
(或者Add
,无法回忆正确的语法),转换为的 char 数组你的目标数组。
你也可以用..
string s = "A-B-C-D-E";
char[] but = s.Split('-').Select(Convert.ToChar).ToArray();
...比其中一个答案略短。