Earlier I asked a question about why I see so many examples use the varkeyword and got the answer that while it is only necessary for anonymous types, that it is used noneth
If the compiler can do automatic type inferencing, then there wont be any issue with performance. Both of these will generate same code
var x = new ClassA();
ClassA x = new ClassA();
however, if you are constructing the type dynamically (LINQ ...) then var
is your only question and there is other mechanism to compare to in order to say what is the penalty.