通用值为T的值

时间:2014-06-26 08:54:59

标签: c# generics

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

2 个答案:

答案 0 :(得分:5)

是的,您需要struct约束:

class OnlyStructs<T> where T : struct { }

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

答案 1 :(得分:4)

在通用约束where T : struct

中使用struct