为了账号安全,请及时绑定邮箱和手机立即绑定

IComparable<> 作为通用约束有什么特别之处

IComparable<> 作为通用约束有什么特别之处

C#
小唯快跑啊 2022-10-15 14:27:00
假设我有一堂课Class Apple<T> where T: IComparable<int>{}现在在为 Apple 创建一个对象时,我会这样做Apple<int> obj = new Apple<int>();上面的代码将起作用。如果我用任何其他通用接口替换相同的代码,比如IComparer<>,IEnumerable<>等等。像上面这样的对象创建将不起作用,我们必须像这样声明它Apple<IEnumerable<int>> obj = new Apple<IEnumerable<int>>();为什么会这样?为什么我声明的IComparable<>方式只适用于它而不适用于任何其他接口?
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

没有什么特别的IComparable<T>,但关于T它本身,它 - 在这种情况下int- 也实现了IComparable<int>。不过int肯定不会执行IEnumerable<int>

或者换句话说:您当然可以eachint与另一个进行比较int。但是你不能迭代一个int.


查看完整回答
反对 回复 2022-10-15
  • 1 回答
  • 0 关注
  • 67 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信