如何从一个C#泛型方法返回null?
泛型允许我们定义一个类的字段、方法、参数等类型的占位符。泛型在编译时用一些特定类型替换这些占位符。可以使用尖括号<>定义泛型。集合的一个主要限制是缺乏有效的类型检查。这意味着,你可以把任何对象放入集合,因为 C# 编程语言中的所有类都从 Object 基类扩展而来。
而且,我们不能像在普通方法中那样简单地从泛型方法返回 null。以下是我们尝试返回 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; } } }
因此,为了从泛型方法返回 null 或默认值,我们可以使用 default()。default(T) 将返回提供的类型的默认对象。
示例
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; } } }
输出
代码输出是
0
这里我们可以看到返回了 integer 0 的默认值。
广告