бросание символов на целые числа выше 255 - PullRequest
1 голос
/ 09 февраля 2012

Просто быстро - почему c # допускает приведение чисел с целым числом выше 255?

, например

Console.Write((char)300);

он не должен возвращать символы, но он делает (даже для больших целых), так как он определяет эти символы? это автоматически переводить в различные форматы символов?

Ответы [ 2 ]

4 голосов
/ 09 февраля 2012

Поскольку символ в .NET является символом Unicode-Char , т.е. он имеет длину 16 бит.

1 голос
/ 09 февраля 2012

В дополнение к 16-битной длине вы можете сделать это:

unchecked
{
   char c = (char) 70000;

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

Это дает (70000% 65536).66536 - это максимум 16-битного числа.

...