有没有办法将泛型类型限制为只有整数类型?
例如,如果我有方法
T[] sort<T>(T[] data) where : T ... {}
如果我想确保参数是某种整数类型,我会把它作为约束?
我试过看MSDN然而它似乎没有提到有关约束和原始类型的任何内容。
感谢您的帮助。
答案 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,作为检测盒装性能值的答案。