无法将字符串 [] 转换为字符 []
本文关键字:字符 转换 字符串 | 更新日期: 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();
。比其中一个答案略短。