As a seasoned or professional developer in C#.NET, you will find many innovative features in the .NET framework supported to speed up development as well as reduce confusion in code. .NET 3.5 introduced the var keyword, and most of the time many blog posts and articles associated it with LINQ without the need to specify the type explicitly. Then .NET 4.0 introduced a keyword called "dynamic" which made us ask the question why another? As having extensively used System.Object for many interoperability related work, the introduction of these new keywords and it's uses might confuse developers as for why,when and where should these keywords be used etc. Below is an excellent excerpt from an article by Alexandra Rusina (Understanding the Dynamic Keyword in C# 4), which clarifies the differences between the three.