Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Trả về null từ Generic Method trong C#

Generics cho phép định nghĩa class với placeholders cho kiểu của fields, methods, parameters. Generics thay thế placeholders bằng kiểu cụ thể tại compile time. Generic định nghĩa dùng angle brackets <>. Hạn chế chính của collections là thiếu type checking hiệu quả - có thể put bất kỳ object nào vào collection vì tất cả classes C# đều extend từ object base class.

Cũng không thể đơn giản return null từ generic method như method thường. Lỗi generic method ném ra khi cố return null:

using System;

namespace DemoApplication
{
    class Program
    {
        public static void Main()
        {
            Add(5, 5);
        }

        public static T Add(T parameter1, T parameter2)
        {
            return null; // Compile error
        }
    }
}

Trả về null từ Generic Method trong C#

Để return null hoặc default value từ generic method, dùng default(). default(T) trả về default object của kiểu đượ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 parameter1, T parameter2)
        {
            var defaultVal = default(T);
            Console.WriteLine(defaultVal);
            return defaultVal;
        }
    }
}

Kết quả

0

Thấy default value của integer là 0 được trả về.