当前位置: 首页 > news >正文

泛型设计实现反向比较器

  /// <summary>
    /// 反向比较器。
    /// </summary>
    /// <typeparam name="T">类型参数</typeparam>
    public class ReverseComparer<T> : IComparer<T>
    {
        #region Fields
        private readonly IComparer<T> original;
        #endregion
        #region Properties
        public static ReverseComparer<T> Default { get; private set; }
        #endregion
        #region Constructors
        static ReverseComparer()
        {
            Default = new ReverseComparer<T>(Comparer<T>.Default);
        }
        public ReverseComparer(IComparer<T> original)
        {
            Contract.Requires(null != original);
            this.original = original;
        }
        #endregion
        #region Methods
        public int Compare(T x, T y)
        {
            return this.original.Compare(y, x);
        }
        #endregion
    }

 

转载于:https://www.cnblogs.com/zhijianblogs/p/5326291.html

相关文章:

  • 说一下 HashMap 的实现原理?
  • 两个对象的 hashCode()相同,则 equals()也一定为 true吗?
  • 抽象类必须要有抽象方法吗?抽象类能使用 final 修饰吗?
  • CLion 2016.1新增Python、Swift支持,并改进了C++支持
  • SpringBoot如何实现异步、定时任务?
  • Java中BIO、NIO、AIO 有什么区别?
  • 网络协议系列之二:HTTP(2)
  • redis和mysql数据不一致问题如何解决?
  • Spring中的资源加载策略
  • 你知道迭代器 Iterator 是什么吗?
  • 什么是乐观锁、什么是悲观锁,两种锁在Java中的具体应用场景有哪些
  • Error: Out of memory! attempting SFTP connectio
  • 谈一谈session和cookie的区别,以及session的实现机制
  • Android--activity获取返回值
  • 你能说出四种创建线程的方式吗?
  • 2019年如何成为全栈工程师?
  • docker python 配置
  • export和import的用法总结
  • Java读取Properties文件的六种方法
  • JAVA多线程机制解析-volatilesynchronized
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • 初识MongoDB分片
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 回顾 Swift 多平台移植进度 #2
  • 计算机在识别图像时“看到”了什么?
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 我这样减少了26.5M Java内存!
  • 译自由幺半群
  • 7行Python代码的人脸识别
  • FaaS 的简单实践
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • $jQuery 重写Alert样式方法
  • (2022 CVPR) Unbiased Teacher v2
  • (C++20) consteval立即函数
  • (function(){})()的分步解析
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (MATLAB)第五章-矩阵运算
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (算法)求1到1亿间的质数或素数
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)winform之ListView
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • /etc/sudoers (root权限管理)
  • @Autowired注解的实现原理
  • @ModelAttribute使用详解
  • [ Linux ] Linux信号概述 信号的产生
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [AIGC] MySQL存储引擎详解
  • [ARM]ldr 和 adr 伪指令的区别
  • [BZOJ] 2044: 三维导弹拦截