如何从一个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 的默认值。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
JavaScript
PHP