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     Cookies       Do Not Sell       Licensing      
Made with    in Austin, Texas.  - vsn 44.0.0
© Data & Object Factory, LLC.