美文网首页
C#比较器

C#比较器

作者: 晓龙酱 | 来源:发表于2017-09-18 10:32 被阅读27次

C#类中显示与隐匿转换操作符同时只能实现一个

// 显示转换操作符
static public explicit operator Salary(int n)
{
    Salary s = new Salary(n);
    return s;
}
// 隐式转换操作符
static public implicit operator Salary(int n)
{
        Salary s = new Salary(n);
        return s;
}
Salary s1 = 100;                // 隐匿转换
Salary s2 = (Salary)100;        //显示转换

// 实现可比较接口
using System;
class Salary : <font color=blue>IComparable<Salary></font>{

public Salary(int val){
    this.val = val;
}

public int val
{
    set;
    get;
}

override public string ToString()
{
    return val.ToString();
}
<font color=blue>
public int CompareTo(Salary salary)
{
    return this.val.CompareTo(salary.val);
} </font>

}


// 实现比较器
using System.Collections.Generic;
class SalaryComparer : <font color=blue>IComparer<Salary></font>
{
<font color=blue>
public int Compare(Salary a, Salary b)
{
return a.CompareTo(b);
}</font>
}


List<Salary> ls = new List<Salary>();
ls.Add(new Salary(3));
ls.Add(new Salary(2));
ls.Add(new Salary(1));

ls.Sort(<font color=blue>new SalaryComparer()</font>);

foreach(Salary s in ls)
{
Debug.Log(s); // 1 2 3
}

相关文章

  • C#比较器

    C#类中显示与隐匿转换操作符同时只能实现一个 // 实现可比较接口using System;class Salar...

  • C#重载运算符

    C#中比较运算符的重载 == and != ; > and <; >= and <=. c#中要求比较运算符的重载...

  • C# 极简环境搭建

    安装VSCode 下载vscode ,下载完后安装 安装C#编译器 Win10 系统默认已经装有C#编译器,通过文...

  • Rider 更聪明地使用C#开发Unity

    Rider 强大的跨平台C#编辑器 JetBrains Rider是一款快速强大的 C#编辑器 ,用于在Windo...

  • c# 编写音乐下载器

    musicDown c# 编写音乐下载器 github地址

  • C#与Lua交互过程和原理

    C#与Lua交互过程: C# Call Lua :由C#文件先调用Lua解析器底层dll库(由C语言编写),再由d...

  • C#字符串比较方法

    C#字符串比较方法 用C#比较字符串有多种方法,如: string.Compare(x,y); string.Eq...

  • c#中的反射

    都说c#和java差不多,会了java,c#基本都会了。我对java还是很熟的,对oc也比较熟,但是c#感觉还是过...

  • ZServer4D与C#通信

    1.zs做服务器,以custom protocol来工作,c#访问,使用c#内置的TcpClient即可(结合mo...

  • eclipse实现代码块折叠-类似于VS中的#region……#

    最近开发服务器时候代码量比较大,在开发过程中阅读代码不是很方便,于是想到了C#开发时候的#region……#end...

网友评论

      本文标题:C#比较器

      本文链接:https://www.haomeiwen.com/subject/xxivsxtx.html