Если вы спрашиваете, похоже ли использование var
на size_t
в том смысле, что вам на самом деле не нужно использовать size_t
, вы можете сойти с int
, тогда да, они вроде аналогично в этом отношении.
Однако они отличаются тем, что size_t
предназначен для того, чтобы сделать ваш код более явным, в то время как var
предназначен для удаления некоторой избыточной явности для удобства чтения.
Таким образом, читаемость следующего кода может быть улучшена с помощью var
:
Dictionary<string, Dictionary<int, char>> mapping = new Dictionary<string, Dictionary<int, char>>();
- против -
var mapping = new Dictionary<string, Dictionary<int, char>>();
Однако чрезмерное использование var
может повредить читабельности, как в var f = Foo();
.
В отличие от size_t
, нет абсолютно никакой разницы в коде, который компилируется с var
, в отличие от явного типа.
С size_t
одним из преимуществ является мобильность. Размеры объектов могут быть не int
на всех платформах, но size_t
всегда будет достаточно большим, чтобы их вместить. Это означает, что не использование size_t
может означать, что ваш код не компилируется правильно на некоторой платформе.
Однако, с var
код, который компилируется в конце, точно такой же. Вы можете использовать var
везде, где возможно, или никогда не можете использовать var
(за исключением анонимных типов ), и это не будет иметь значения.
Так что, хотя рекомендуется всегда использовать size_t
, где это возможно в C, var
является скорее суждением. Это то, что, по вашему мнению, делает код более читабельным.