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
private static int Getnum()
Note: We use var keyword but the main different between the both is var resolved at compile time and dynamic resolved at runtime.