Named parameters and optional parameters in C,

Source: Internet
Author: User

Named parameters and optional parameters in C,

The named parameters and optional parameters are new in C # framework 4.0.

 

1. Definitions and calls of common methods

Public void Demo1 (string x, int y) {// do something...} public void Main () {// call Demo1 ("similar", 22 );}

The Parameter order (type) must be consistent with the declaration and cannot be omitted.

 

 

2. Declaration and call of optional parameters

Optional parameters are divided into two types: 1. Some parameters are optional; 2. All parameters are optional.

// Partially optional (required for x and optional for y) public void Demo2 (string x, int y = 5) {// do something ...} public void Main () {// call Demo2 ("similar"); // y uses the default value of 5 Demo2 ("similar", 10) if no real parameter is input ); // input the real parameter by y. Then, the real parameter 10 is used}

Note: When the parameter is partially optional, the declaration of the optional parameter must be defined after the non-optional parameter (The Declaration of the preceding: y is after x). Otherwise, the following error message is displayed:

 

 

// All optional (x and y are optional parameters) public void Demo3 (string x = "demo", int y = 5) {// do something ...} public void Main () {// call Demo3 (); // If x and y do not input real parameters, the default values of x and y are "demo" and 5 Demo3 ("similar "); // if y does not pass in real parameters, y uses the default value 5 Demo3 ("similar", 10); // x, y all input real parameters}

Note: a. When all parameters are optional, the Declaration Order of parameters can be defined at will, regardless of order.

B. The parameter Declaration definition can be unordered, but must be consistent with the Declaration.

The above call only writes three types. In fact, there is another one, that is, x uses the default value, and y passes in the real parameter, that is, Demo3 (10 );

However, an error is returned when this call is performed because the first parameter of Demo3 is of the string type and the error message is returned.

 

But now I only want to input y and do not want to input x. What should I do? I need to use the named parameter C.

 

 

Iii. Named Parameters

The use of the named parameter is mainly reflected in the function call.

Public void Main () {// call Demo3 (); // If x and y do not input real parameters, the default values of x and y are "demo" and 5 Demo3 ("similar "); // if y does not input a real parameter, y uses the default value 5 Demo3 ("similar", 10); // x, y all input real parameters

// Use Demo3 (y: 10) for the named parameter );}

 

Using the named parameter, we can specify the value of a specific parameter. Here we can solve the problem we encountered through Demo3 (y: 10) (x uses the default value, and y uses the real parameter ).

 

Note: When you use a named parameter, you do not need to worry about the declared order of the parameter when calling the method. That is, the following call method is also possible:

 

 

When you call a method that contains optional parameters, a smart prompt is displayed in vs, prompting you which parameters are optional and Their default values. brackets indicate optional []:

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.