挺有意思的
string st="6d";
int i=Convert.ToInt32(st,16);
Console.WriteLine(i);

解决方案 »

  1.   

    private void button1_Click(object sender, System.EventArgs e)
    {
    long Int=0;
    int Num=0;
    string str=textBox1.Text.Trim();
    int len=str.Length;
    for(int i=0;i<len;i++)
    {
    Num=num(str.Substring(i,1));   \\将str中的值全部转换为整数
    if (Num>=0) \\当值符合要求时,进行转换
    {
       Int=Int*16+Num; \\将16进制转换为10进制
    }
    else
    {
    MessageBox.Show("您输入的十六进制有错误,请重新输入");
    break;
    }
    }
    textBox1.Text=Convert.ToString(Int);
    }\\将str中的值全部转换为整数,并返回一个整数值
    public int num(string str)
    {
    int Num;
    switch(str)
    {
    case "a":
    case "A":
    Num=10;
    break;
    case "b":
    case "B":
    Num=11;
    break;
    case "c":
    case "C":
    Num=12;
    break;
    case "d":
    case "D":
    Num=13;
    break;
    case "e":
    case "E":
    Num=14;
    break;
    case "f":
    case "F":
    Num=15;
    break;
    case "0":
    case "1":
    case "2":
    case "3":
    case "4":
    case "5":
    case "6":
    case "7":
    case "8":
    case "9":
    Num=Convert.ToInt16(str);   \\将字符转换为整数
    break;
    default:
    Num=-1;
    break;
    }
    return Num;
    }暂时只想到这个方法,不过肯定可以实行转换,已通过验证
    若有新的方法,我会即时补充
      

  2.   

    Response.Write(Convert.ToInt32("6d",16).ToString());
      

  3.   

    int.Parse(str, System.Globalization.NumberStyles.HexNumber).ToString();OK?