Skip to main content

Unwanted Usage of ‘var’ Keyword in c#

Since the introduction of ‘var’ keyword in C# 3.0, lots of developers started using it very large scale mode. I have done code reviews of lots of projects since the introduction of ‘var’ keyword and the trend of ‘var’ keyword is in usage of lots projects, and one thing what I noticed is that, ‘var’ keyword has made developer’s life much easier.


If you are from a VB 6.0 background, usage of ‘var’ keyword was strictly prohibited only to certain places, developer should not get confused themselves with ‘var’ keyword from VB 6.0 or in JavaScript which both are totally unrelated.

The main purpose behind ‘var’ keyword in C#, is to use it when the type in unknown. For example, I have a method which returns CustomerDetails and it contains information such as Customer ID, CustomerID,CustomerCity,Zip etc. which has different data types.

Usage of ‘var’ keyword at everyplace makes code very difficult for other developers to understand. For example, a developer wants to check employee status with following code, by looking at following code anyone can understand what a developer wants to achieve.







Whereas in following code snippet, developer need to spend at least some additional time to understand the code.






In above example, developer can use known type ‘bool’ instead of ‘var’ which is very easy to understand.This is just one sample example, but imagine, if developer starts using 'var' keyword in entire project for the variable declaration.



One of the point which developer need to understand is that declaration of ‘var’ keyword makes your code incompatible .Net framework 2.0 and below.

It is recommended to use ‘var’ keyword if data type is unknown, you want to take advantage of LINQ or if your class name is big.

Other points related to ‘var’

• ‘var’ is an implicit declaration

• ‘var’ is defined statically

• Compiler define data type by looking at the right side value

• Data type are defined at compile time and not at runtime

Comments

Popular posts from this blog

Team Foundation Server

Team Foundation Server Being in a software industry and specially those who are closely working with Microsoft technology no need to explain what is Team Foundation Sever (TFS). Let me explain in brief what is Team Foundation Server (TFS) and the advantages associated. Team Foundation Server is a source control, project management tool, bug tracking tool, change management, build automation and so on … TFS has number of inbuilt functionalities if used in a proper way leads to a project success. TFS enables organizations to manage applications throughout the IT lifecycle. Source Control Most of the organization uses Visual Source Safe (VSS) as a source control, TFS is an advanced source control which allows user to manage work items in a systematic way, and e.g., TFS administrator can set a policy while performing check-in and check-out operations. Following screen shot shows the policy warning if it’s not been satisfied. TFS can be integrated with Visual Studio;...

Installing Visual Studio 2012 with Update 2 CTP4

  Brian Harry has announced release of Visual Studio 2012 Update 2 CTP4 , this release contains significant improvements compared with other 3 releases and this is the final CTP release.  This weekend I have decided to refresh my environment with this latest Visual Studio 2012 Update 2 CTP4 release. Before I start, let me give some details on what’s new in Visual Studio 2012 Update 2 CTP4. Backup and restore Power Tool Preserve Configuration on Upgrade Servicing in High Availability SQL Environments (SQL Always On) Customizable kanban columns Visual Studio Git Extension You can complete details of new features here , you can download Visual Studio 2012 Update CTP4 from here http://go.microsoft.com/fwlink/?LinkId=273878 . My development environment setup (Note :this is my personal development environment setup and does not guarantee security or other features ) Application Tier : Windows Server 2012 Data Center Build 9200 Build Controller And Agent : Windows Serve...

Visual Studio 2010 and Dot Net Framework 4.0

Visual Studio 2010 and Dot Net Framework 4.0 This is continuation of my series on Dot Net Framework 4.0, Dublin, Visual Studio 2010… On 29th Sep 2008 Microsoft announced release of Visual Studio 2010 and the Framework 4.0, the main aim behind release of these products is to target new trends such as cloud computing , SOA, application life cycle management etc. The Visual Studio Team System 2010 is code named as “ Rosaria ”, complete details about the product is not yet released by the Microsoft, we can expect lots of new information about Visual Studio 2010 and Dot Net Framework 4.0 in coming days. One of the cool features of Visual Studio 2010 is the support for cloud development with Windows Azur tool for Visual Studio 2010. Windows Azur is the new cloud service, Windows Azur allows developer with on demand compute and storage to host web application on the internet through Microsoft data center. (I will explain Windows Azur in my forthcoming blog). There are lots of changes compare...