无法将类型'char'隐式转换为'char []'

时间:2011-06-15 09:21:06

标签: c# asp.net

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代码,我无法将char转换为char数组... 如何在ch [i]位置找到角色?

6 个答案:

答案 0 :(得分:6)

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

您确定不只是想要:

chname1 = txtname1.Text.ToCharArray();

请注意,在ToString()上调用char[]可能无法执行您想要的操作...将char[]转换为string通常是通过new string(char[])

答案 1 :(得分:3)

您可以使用ToCharArray()类的string方法:

chname1 = txtname1.Text.ToCharArray();

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

txtname1.Text.Length;

答案 2 :(得分:1)

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

答案 3 :(得分:1)

string转换为char数组:

chname1 = txtname1.Text.ToCharArray()

(ToCharArray documentation)

答案 4 :(得分:0)

txtname1.Text[i]实际上应该可以正常工作......

答案 5 :(得分:0)

你想要实现的目标是什么?你的txtname1和textname2文本框是?在那种情况下,为什么要打扰一系列字符。只需使用字符串和子字符串功能。