Dynamic Programming in .NET 4.0

C# 4.0 supports dynamic programming by introducing new dynamic typed objects. The type of these objects is resolved at run-time instead of at compile-time. The keyword tells the compiler that everything to do with the object, declared as dynamic, should be done dynamically at the run-time using Dynamic Language Runtime(DLR)

The main advantages of this dynamic programming are it provides more flexibility to developers.


dynamic num = Getnum();

dynamic str = GetString();

Console.WriteLine("Your number is " + num);

Console.WriteLine("Your string is " + str);



private static string GetString()


    return "Welcome";


private static int Getnum()


    return 1;


Note: We use var keyword but the main different between the both is var resolved at compile time and dynamic resolved at runtime.