2012-02-09 44 views
1

只是一个快速 - 为什么c#允许字符铸造255以上的整数?字符铸造上255以上的整数

例如

Console.Write((char)300); 

它不应该返回字符,但它(甚至对于大整数)它如何确定这些字符?它会自动翻译成不同的字符格式?

回答

1

除了是16位长,你可以这样做:

unchecked 
{ 
    char c = (char) 70000; 

    MessageBox.Show(((int)c).ToString()); 
} 

它给(70000%65536)。 66536是16位数字的最大值。