当前位置: 首页 > news >正文

where关键字

where关键字

where在 C# 中用于为泛型(类、方法等)的类型参数添加约束,限制它必须满足的条件。

常见约束:

where T : class→ T 必须是引用类型(如类、接口、数组)。

where T : struct→ T 必须是值类型(如 int、struct)。

where T : new()→ T 必须有无参构造函数。

where T : BaseClass→ T 必须继承自某个基类。

where T : ISomeInterface→ T 必须实现某个接口。

作用:

让你在泛型代码中安全地使用类型 T的特定功能(如调用方法、创建实例等)。

例子:

csharp
复制
public class Example<T> where T : class, new()
{
// 这里知道 T 是引用类型且有无参构造函数
public T CreateItem() => new T();
}

意思就是继承自是吧?