Computer >> Máy Tính >  >> Lập trình >> C#

Tham số tùy chọn trong C # là gì?


Theo mặc định, tất cả các tham số của một phương thức là bắt buộc. Một phương thức có chứa các tham số tùy chọn không bắt buộc phải truyền các đối số tại thời điểm gọi. Nó có nghĩa là chúng tôi gọi phương thức mà không truyền các đối số.

Tham số tùy chọn chứa một giá trị mặc định trong định nghĩa hàm. Nếu chúng tôi không chuyển giá trị đối số tùy chọn tại thời điểm gọi, giá trị mặc định sẽ được sử dụng.

Thera là những cách khác nhau để biến một tham số trở thành tùy chọn.

Sử dụng Giá trị Mặc định

Ví dụ

using System;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         OptionalMethodWithDefaultValue(5);
         //Value2 is not passed as it is optional
         OptionalMethodWithDefaultValue(5, 10);
         //Value2 is passed
         Console.ReadLine();
      }
      public static void OptionalMethodWithDefaultValue(int value1, int value2 = 5){
         Console.WriteLine($"Sum is {value1 + value2}");
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

Sum is 10
Sum is 15

Trong ví dụ trên, phương thức OptionalMethodWithDefaultValue (int value1, int value2 =5) value2 đang có giá trị mặc định 5. Vì vậy, nếu không có đối số nào được truyền cho value2 trong khi gọi nó sẽ nhận giá trị mặc định là 5 và nếu một đối số được truyền cho value2 thì giá trị mặc định bị ghi đè.

Sử dụng thuộc tính tùy chọn

Ví dụ

using System;
using System.Runtime.InteropServices;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         OptionalMethodWithDefaultValue(5);
         OptionalMethodWithDefaultValue(5, 10);
         Console.ReadLine();
      }
      public static void OptionalMethodWithDefaultValue(int value1, [Optional]int value2){
         Console.WriteLine($"Sum is {value1 + value2}");
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

Sum is 5
Sum is 15

Ở đây, thuộc tính [Tùy chọn] được sử dụng để chỉ định tham số tùy chọn.

Ngoài ra, cần lưu ý rằng các tham số tùy chọn phải luôn được chỉ định ở cuối các tham số. Đối với ex - OptionalMethodWithDefaultValue (int value1 =5, int value2) sẽ ném ngoại lệ.

Ví dụ

using System;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         OptionalMethodWithDefaultValue(5);
         OptionalMethodWithDefaultValue(5, 10);
         Console.ReadLine();
      }
      public static void OptionalMethodWithDefaultValue(int value1 = 5, int value2){
         Console.WriteLine($"Sum is {value1 + value2}");
      }
   }
}

Lỗi - Thông số tùy chọn phải xuất hiện sau tất cả các thông số bắt buộc.