var
не по умолчанию ни к чему. Вместо этого var
стоит вместо фактического типа выражения, которое инициализирует переменную. Тогда возникает вопрос: почему 255 считается int
? Ответ заключается в том, что без подсказки типа (f, d, m, U, L и т. Д.) Целочисленные литералы считаются одним из int
, uint
, long
или ulong
, в зависимости от того, какой это наименьший тип, который будет соответствовать числу.
Некоторые примеры:
var i = 255; // var is int
var ui = 4000000000; // var is uint
var l = 5000000000; // var is long
var ul = 9223372036854775808; // var is ulong