具有值类型T的泛型

本文关键字:泛型 类型 | 更新日期: 2023-09-27 18:10:31

是否可以定义一个泛型类,其中T只能属于值类型(例如int, double等)?

具有值类型T的泛型

是的,你需要一个struct约束:

class OnlyStructs<T> where T : struct { }

但是你应该意识到这也允许用户定义的结构,而不仅仅是int, double等。不幸的是,没有内置的方法来限制T仅为特定类型,如where T : int,double,float

在通用约束where T : struct中使用struct