如何在 C# 中从泛型方法返回 null?

csharpserver side programmingprogramming更新于 2025/4/20 8:07:17

泛型允许我们定义一个类,其中包含字段、方法、参数等类型的占位符。泛型在编译时用某些特定类型替换这些占位符。可以使用尖括号 <> 定义泛型。集合的主要限制是缺乏有效的类型检查。这意味着您可以将任何对象放入集合中,因为 C# 编程语言中的所有类都是从对象基类扩展而来的。

此外,我们不能像在普通方法中那样简单地从泛型方法返回 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

这里我们可以看到返回了默认值整数0。


相关文章