Back to list
Views:   32.9K
Replies:  1

Usage of the C# var keyword. Is there a Best Practice?

The C# var keyword was introduced in C# version 3.0.  According to Eric Lippert from the Microsoft C# team it was included for 2 primary reasons:

  1) To limit redundant code, such as: 

Dictionary<string, List<int, bool>> myDictionary = new Dictionary<string, List<int,bool>>();
and write is as

var myDictionary = new Dictionary<string, List<int,bool>>();

  2) To support anonymous types, which were necessary to implement LINQ, such as:

var car = new { Make = "Toyota", Model = "Camry" };

Now, much of the code you see floating around on the Internet coming from experts use vars just about anywhere where it can be used. However, I have developed a personal preference, i.e. best practice if you will, that goes like this: 

  • Value types, such as, int, bool, float, and string (as an exception) are explicity declared.
  • Reference types are declared with var.
Is there anything such as a 'C# var usage' Best Practice rulout there?

Henry Wong, Mar 17, 2011
Reply 1
Some good points Henry.  You may be interested in this discussion as well.  And yes, anonymous types, that's pretty useful for jquery/json scenarios...

Rajesh Pillai, Mar 17, 2011

Stay Inspired!
Join other developers and designers who have already signed up for our mailing list.
Terms     Privacy     Licensing       EULA       Sitemap      
© Data & Object Factory, LLC.
Made with    in Austin, Texas.      Vsn 1.3.0