DELPHI中  a: Char;  a := Char(-2458);
  ShowMessage(string(a));
  显示结果是 f在C#中怎么能把-2458转换成结果f呢

解决方案 »

  1.   

    char a = (char)((int)-2458);
    string s = a.ToString();
    MessageBox.Show(s);
      

  2.   

    delphi的结果不对,这应该是一个中文。
      

  3.   

    char a = (char)((short)-2458);
    string s = a.ToString();
    MessageBox.Show(s);看看。
      

  4.   

    Delphi的char可能是1个字节,也可能是两个字节(delphi 2010以上版本),
    -2458 16进制为 0xFFFFF666
    'f'  16进制为 0x66
    从运行的结看来这段Delphi 的char是1个字节.这就个好办了            char c = (char)(-2458 & 0xFF);            
                MessageBox.Show(c.ToString());