C# 4 New Features – Named and Optional Parameters
Microsoft introduced C# 4.0 with the Beta release of Visual Studio 2010. C# 4.0 has some new features as compared to the previous versions. In this post I will share the new feature introduced by Microsoft in C# 4.0 release is Named and Optional Parameters.
Why new features
Yes, that is the question? Why we need new features? Previous versions and advanced concepts are the answers to this question. Senior Programmers understand that if we need to write an overload methods, how much work is required and to maintain them is another issue which we deal after deployment of software.
The following example show the power of Optional Parameters, but we first see the old way to write the overload method:
public int Sum(int x, int y); public int Sum(int x, int y, int z); public int Sum(int x, int y, int z, int i);
How C# 4.0 accomplishes the above task
public int Sum(int x, int y, int z = 0, int i = 0);
Sum(5, 10); // 5 + 10 + 0 + 0 Sum(5, 10, 15); // 5 + 10 + 15 + 0 Sum(5, 10, 15, 20); // 5 + 10 + 15 + 20
We add a method with name AddCustomer, sometimes we don’t need to pass the address or age then how we would neglect the values of address or age, let us see the example.
public void AddCustomer(string firstName, string lastName, string address = "NotAvailable", int age = 0);
In the above method address and age are optional method, but if we want to change the position of address of lastName then what should we do?
AddCustomer("Rais", address: "Pakistan", lastName: "Hussain");
Now if we don’t provide the address field, then we can call the AddCustomer method like that;
AddCustomer("Rais","Hussain", age: 28);
By the using of the above new features we can efficiently use Optional Parameters against overloaded method with the mixture of Named Parameters as per need.