Есть ситуации, где использование var необходимо. Например, объявление анонимных типов, особенно при использовании LINQ. Пример:
var some = new { Id = 10, Name = "qwerty" };
Тип создаётся автоматически, и его название знает только компилятор, а потому без var тут не обойтись. IL-код будет генерироваться тот же самый как для типов, "прячущихся" под var, так и для явно объявленных. var - это лишь синтаксический сахар.
А вообще следование или игнорирование данной рекомендации Resharper'а в общем и целом дело вкуса. Лично я предпочитаю var в очевидных ситуациях, там, где тип однозначно определяется из правой части. Например, при использовании конструкторов:
var some = new MyClass();
В данном случае использование var оправдано во избежание дублирования имени класса (в качестве бонуса если вы захотите поменять тип переменной some на какой-то другой, править придётся на один раз меньше, хотя это мелочи).
Однако лучше не использовать var, если из правой части выражения нельзя однозначно определить, что это за тип. Например:
var some = GetData(); // тип переменной some не очевиден
в этом случае лучше явно указывать тип:
MyClass some = GetData();
Из моих личных предпочтений: я не указываю var при использовании примитивов. Вместо
var val = 0.0;
я предпочитаю писать
double val = 0.0;
Хотя это можно отнести к частным случаям правила об очевидности типа из правой части.
varна конкретный тип или обратно код ломается, то стоит задуматься, хороший ли это код. Соответственно, выбор междуvarи конкретным типом — это холивар жанра расстановки фигурных скобочек, причём точно так же приверженцы разных языков имеют разные традиции. – Kyubey Jun 21 '16 at 10:35