无法将字符串 [] 转换为字符 []

本文关键字:字符 转换 字符串 | 更新日期: 2023-09-27 18:33:58

我有一个文本框(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();

。比其中一个答案略短。