对255以上的整数进行char转换

时间:2012-02-09 11:59:20

标签: c# casting char

快一点 - 为什么c#允许对高于255的整数进行char铸造?

e.g。

Console.Write((char)300);

它不应该返回字符,但它确实(即使是大的整数),那么它如何确定这些字符?它会自动转换为不同的字符格式吗?

2 个答案:

答案 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位数的最大值。