Naprawdę, co prosisz jest Jakie jest podawana do liczby całkowitej literałów w C#?, do którego rozwiązania można znaleźć w specyfikacji:
(sekcja 2.4.4.2 spec 4.0)
rodzaj liczbę całkowitą dosłownym jest określona następująco:
- Jeśli literał nie ma sufiksu, ma pierwszy z tych typów, w którym jego wartość może być reprezentowana: int, uint, long, ulong.
- Jeśli literał ma przyrostek U lub u, ma on pierwszy z tych typów, w którym może być reprezentowana jego wartość: uint, ulong.
- Jeśli literał ma przyrostek L lub l, ma on pierwszy z tych typów, w którym może być reprezentowana jego wartość: długa, ulong.
- Jeśli literał ma sufiks UL, Ul, uL, ul, LU, Lu, lU lub lu, jest on typu ulong.
Jeśli wartość reprezentowana przez liczbę całkowitą wykracza poza zakres typu ulong, pojawia się błąd podczas kompilacji.
To prawdopodobnie Int32, ponieważ jest to swego rodzaju standard. Dlaczego się nie dowiesz? 'var num = 65535; Console.Write (num.GetType(). Name) ' – KChaloux