1
只是一个快速 - 为什么c#允许字符铸造255以上的整数?字符铸造上255以上的整数
例如
Console.Write((char)300);
它不应该返回字符,但它(甚至对于大整数)它如何确定这些字符?它会自动翻译成不同的字符格式?
只是一个快速 - 为什么c#允许字符铸造255以上的整数?字符铸造上255以上的整数
例如
Console.Write((char)300);
它不应该返回字符,但它(甚至对于大整数)它如何确定这些字符?它会自动翻译成不同的字符格式?
因为char in .NET is a Unicode-Char,即它是16位长。
除了是16位长,你可以这样做:
unchecked
{
char c = (char) 70000;
MessageBox.Show(((int)c).ToString());
}
它给(70000%65536)。 66536是16位数字的最大值。
确切地说,Char是UTF-16。 – Oded 2012-02-09 12:01:55