不能将类型“char”隐式转换为“char[]”

本文关键字:char 转换 不能 类型 | 更新日期: 2023-09-27 17:59:07

public partial class _Default : System.Web.UI.Page 
{
char[] chname1=new char[20];
char[] chname2=new char[20];
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btsubmit_Click(object sender, EventArgs e)
{
    chname1 = Convert.ToChar(txtname1.Text);
    chname2 = Convert.ToChar(txtname2.Text);
    Response.Write(chname1.ToString().Length+"---"+chname2.ToString().Length);
}
}

这是一个简单的 asp.net 代码,我无法将字符转换为字符数组...如何找到 ch[i] 位置的字符?

不能将类型“char”隐式转换为“char[]”

您有一个字符串,并且您正在尝试将其转换为 char ,然后将结果分配给 char[] 变量。

确定你不只是想要:

chname1 = txtname1.Text.ToCharArray();

请注意,在char[]上调用ToString()可能也不会执行您想要的操作...将char[]转换为string通常通过 new string(char[]) 完成。

您可以使用

string类的ToCharArray()方法:

chname1 = txtname1.Text.ToCharArray();

但是你到底想做什么? 如果你只需要长度,不需要转换为char[],只需使用

txtname1.Text.Length;

使用 txtname1。Text.SubString(startPosition-1, 1(

要将string转换为char数组:

chname1 = txtname1.Text.ToCharArray()

(ToCharArray 文档(

我想txtname1.Text[i]实际上应该有效...

你想实现什么?您的 txtname1 和文本名称 2 是文本框吗?在这种情况下,为什么要打扰字符数组。只需使用字符串和子字符串功能。