There are situations where the use of var necessary. For example, the declaration of anonymous types, especially when using LINQ. Example:
var some = new { Id = 10, Name = "qwerty" };
The type is created automatically, and only the compiler knows its name, and therefore it is impossible to do without var here. The IL-code will be generated the same as for the types "hiding" under the var , and for the explicitly declared. var is just syntactic sugar. In general, following or ignoring this recommendation of Resharper is by and large a matter of taste. Personally, I prefer var in obvious situations, where the type is uniquely determined from the right side. For example, when using constructors:
var some = new MyClass();
In this case, the use of var justified in order to avoid duplication of the class name (as a bonus, if you want to change the type of some to some other variable, you will have to edit it one time less, although these are trifles).
However, it is better not to use var , if it is impossible to unambiguously determine from the right part of the expression what type it is. For example:
var some = GetData(); // тип переменной some не очевиден
in this case, it is better to explicitly specify the type:
MyClass some = GetData();
From my personal preferences: I do not specify var when using primitives. Instead
var val = 0.0;
I prefer to write
double val = 0.0;
Although this can be attributed to special cases, the rules on the type of evidence from the right side.