Использование ключевого слова С# var
Возможные дубликаты:
Что использовать: var или тип имени объекта?
Использование ключевого слова var в С#
Что означает ключевое слово var?
Должен ли я всегда предлагать исключаемые типизированные локальные переменные в С# 3.0?
Я только что установил пробную версию ReSharper, чтобы оценить ее для моей компании. Одна вещь, которую я заметил, заключается в том, что я могу изменить следующий (пример):
string s = "";
к
var s = "";
Лучше ли использовать ключевое слово var вместо использования типа объекта при объявлении переменных? Какие преимущества он дает. Для контекста я бывший разработчик Java, который только что перешел на работу .Net.
Ответы
Ответ 1
Мне кажется, что использовать var
, где он упрощает чтение кода, что для меня означает, что тип, который заменяет var
, должен быть полностью очевиден.
Например, это было бы полезно использовать var
(надуманный пример):
var thing = new Dictionary<int, KeyValuePair<string, int>>();
Однако это было бы плохое использование var
:
var thing = GetThingFromDatabase();
Ответ 2
Я считаю это полезным в некоторых случаях, когда объявление типа очень длинное, например:
Dictionary<int, string> item = new Dictionary<int, string>();
становится
var item = new Dictionary<int, string>();
Ответ 3
Это то же самое, потому что с использованием ключевого слова var переменная - это нечеткость, а компилятор указывает тип во время сборки. Я предпочитаю указывать тип, а не использовать var в большинстве случаев, поэтому я меняю настройки resharper.
Ответ 4
Как я помню, Resharper просто говорит, что он может быть написан таким образом. Он не говорит, что должен.
Многие предложения - это просто предложения, которые я обернулся в первый раз, когда увидели их. Это один из них.
Другим было то, что он сказал, что избыточно писать "this.someProperty", в то время как я думаю, что код становится легче читать, делая это.
Ответ 5
У Resharper также есть предложение преобразовать if statement в true или not true.
Почти то же самое, но это зависит от вашего стиля кодирования.
Итак, когда вы находите использование var более удобным - используйте это предложение.