Я думаю, это предлагает вам оба пути.
Если у вас есть явный тип - вы можете изменить его на var. Если у вас есть var - можете поменять его на явный. Просто чтобы вы могли быстрее измениться, если, конечно, считаете это уместным.
Может быть полезно использовать vars, например, для переменных цикла, при итерации коллекции и т. Д., Когда тип является «неявным» для вас (это всегда неявно для компилятора, конечно, когда это предлагает Ресарпер) и его отсутствие не делает код менее читабельным.
Кроме того, мне нравится сокращать некоторые объявления, которые могут вырасти довольно долго с генериками.
Например, IList (IDictionary (SomeType)) myVar = List (IDictionary (SomeType)) () не потеряет много, если вы напишите «var» в левой части назначения.
(заменить парантезы угловыми скобками;)
Конечно, я бы старался использовать переменные с осторожностью, чтобы улучшить читаемость, а не наоборот.