用泛型实现参数化类型(泛型的深化与提高)

1以泛型方式将一个给定的值和默认值进行比较
static int CompareToBefault(T value) where t :ICompare
{
reurn value.CompareTo(default(T))
}
console.write(CompareToBefault(“x”))//字符串默认是null,任何字符串都比null大,所以返回的是1
console.write(CompareToBefault(10))//int类型默认值是0,所以返回1

 2泛型比较接口
   共有4个主要的泛型接口可用于比较.IComparer<T>和IComparable<T>用于排序(判断某个知识小于  等于  还是大于另一个值),而IRqualityComparer<T>和IEquatable<T>通过某种标准来比较两个项的想等性,或查找某个项的散列(通过与相等性概念匹配的方式)
   如果换一种方式划分4个接口,IComparer<T>和IequalityComparer<T>用于那些能够比较两个不同值的类型,而IComparable<T>和IEquatable<T>的实例则用于他们本身和其他值之间的比较

代码清单3-6表示一对值的泛型类
public sealed class Pair

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值