Search code examples
c#stylesresharper

Should I *always* favour implictly typed local variables in C# 3.0?


Resharper certainly thinks so, and out of the box it will nag you to convert

Dooberry dooberry = new Dooberry();

to

var dooberry = new Dooberry();

Is that really considered the best style?


Solution

  • It's of course a matter of style, but I agree with Dare: C# 3.0 Implicit Type Declarations: To var or not to var?. I think using var instead of an explicit type makes your code less readable.In the following code:

    var result = GetUserID();
    

    What is result? An int, a string, a GUID? Yes, it matters, and no, I shouldn't have to dig through the code to know. It's especially annoying in code samples.

    Jeff wrote a post on this, saying he favors var. But that guy's crazy!

    I'm seeing a pattern for stackoverflow success: dig up old CodingHorror posts and (Jeopardy style) phrase them in terms of a question.