Optional Argument : The definition of a method, constructor, indexer, or delegate can specify that its parameters are required or that they are optional. Any call must provide arguments for all required parameters, but can omit arguments for optional parameters.
Each optional parameter has a default value as part of its definition. If no argument is sent for that parameter, the default value is used. Default values must be constants.
Public void getCountry(string Country="India")
Here to call this method you have to pass a string variable, But as you can see it is assigned a value India, That means this is optional argument. It means if you pass any string then it will take that string. But if u don't pass then the country variable will contain India
B b1 = new B();
b1.getCountry("Canada"); //take country as Canada
b1.getCountry(); //Take country as Default value that is india