快一点 - 为什么c#允许对高于255的整数进行char铸造?
e.g。
Console.Write((char)300);
它不应该返回字符,但它确实(即使是大的整数),那么它如何确定这些字符?它会自动转换为不同的字符格式吗?
答案 0 :(得分:4)
因为char in .NET is a Unicode-Char,即它是16位长。
答案 1 :(得分:1)
除了16位长外,您还可以这样做:
unchecked
{
char c = (char) 70000;
MessageBox.Show(((int)c).ToString());
}
它给出(70000%65536)。 66536是16位数的最大值。