-3

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

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

5 回答 5

2

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

char[] but = textBoxA.Text.Split('-').Select(s => Convert.ToChar(s)).ToArray();
于 2013-10-03T16:14:16.687 回答
1

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

char[] values = textBoxA.Text.Split(new [] { '-' }, StringSplitOptions.RemoveEmptyEntries).Select(e => e[0]).ToArray( );
于 2013-10-03T16:15:41.607 回答
0

string将返回数组。看

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

还,

string[] but = textBoxA.Text.Split('-');
于 2013-10-03T16:13:58.337 回答
0

Split返回一个字符串数组。如果您想要一个每个字符串按顺序排列的 char 数组,您必须循环到由返回的数组Split,分别转换每个字符串和Append(或者Add,无法回忆正确的语法),转换为的 char 数组你的目标数组。

于 2013-10-03T16:18:02.217 回答
0

你也可以用..

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

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

于 2013-10-03T16:31:10.770 回答