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

Làm cách nào chúng ta có thể trả về null từ một phương thức chung trong C #?

Generics cho phép chúng tôi xác định một lớp với trình giữ chỗ cho kiểu trường, phương thức, tham số của nó, v.v. Generics thay thế những trình giữ chỗ này bằng một số loại cụ thể tại thời điểm biên dịch. Một chung có thể được xác định bằng cách sử dụng dấu ngoặc nhọn <>. Hạn chế chính của bộ sưu tập là không có kiểm tra kiểu hiệu quả. Điều này có nghĩa là bạn có thể đặt bất kỳ đối tượng nào trong một tập hợp vì tất cả các lớp trong ngôn ngữ lập trình C # đều mở rộng từ lớp cơ sở đối tượng.

Ngoài ra, chúng ta không thể chỉ trả về null từ một phương thức chung như trong phương thức bình thường. Dưới đây là lỗi mà một phương thức chung sẽ mắc phải nếu chúng ta đang cố gắng trả về null.

using System;
namespace DemoApplication {
   class Program {
      public static void Main() {
         Add(5, 5);
      }
      public static T Add<T>(T parameter1, T parameter2) {
         return null;
      }
   }
}

Làm cách nào chúng ta có thể trả về null từ một phương thức chung trong C #?

Vì vậy, để trả về giá trị null hoặc giá trị mặc định từ một phương thức chung, chúng ta có thể sử dụng default (). default (T) sẽ trả về đối tượng mặc định của loại được cung cấp.

Ví dụ

using System;
namespace DemoApplication {
   class Program {
      public static void Main() {
         Add(5, 5);
         Console.ReadLine();
      }
      public static T Add<T>(T parameter1, T parameter2) {
         var defaultVal = default(T);
         Console.WriteLine(defaultVal);
         return defaultVal;
      }
   }
}

Đầu ra

Đầu ra của mã là

0

Ở đây, chúng ta có thể thấy rằng giá trị mặc định của số nguyên 0 được trả về.