Ответ 1
Действительно, то, что вы просите, Какой тип задан для целочисленных литералов в С#?, на который можно найти ответ в спецификации:
(раздел 2.4.4.2 спецификации 4.0)
Тип целочисленного литерала определяется следующим образом:
- Если литерал не имеет суффикса, он имеет первый из этих типов, в котором его значение может быть представлено: int, uint, long, ulong.
- Если литерал суффикс U или u, он имеет первый из этих типов, в котором его значение может быть представлено: uint, ulong.
- Если литерал суффикс L или l, он имеет первый из этих типов, в котором его значение может быть представлено: long, ulong.
- Если литерал суффикс UL, Ul, uL, ul, LU, Lu, lU или lu, он имеет тип ulong.
Если значение, представленное целым литералом, выходит за пределы диапазона тип ulong, возникает ошибка времени компиляции.