类型参数的约束

时间:2010-09-10 08:07:47

标签: c# generics

有没有办法将泛型类型限制为只有整数类型?

例如,如果我有方法

T[] sort<T>(T[] data) where : T ... {}

如果我想确保参数是某种整数类型,我会把它作为约束?

我试过看MSDN然而它似乎没有提到有关约束和原始类型的任何内容。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

不。我之前用VB.Net问过这个问题。

Generic Classes (T) - Specifying from a Range of Types VB.Net

如上页所述:
另外,你提到了限制数字,但我不认为你可以限制它。但是,您可以通过这样做来限制原始类型(在堆栈上)并且不允许对象(在堆上):Public Structure Statistic(Of T As {Structure,IComparable})。

答案 1 :(得分:0)

同样的技术 - 将通用类型约束为(在C#中)struct和IComparable,作为检测盒装性能值的答案。

How to test whether a value is boxed in C# / .NET?