public class PerformanceRank
{
public int Rank { get; set; } public string Eid { get; set; } public string Name { get; set; } public decimal Money { get; set; } //重写Equals方法 public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
if ((obj.GetType().Equals(this.GetType())) == false)
{
return false;
}
PerformanceRank temp = null;
temp = (PerformanceRank)obj; //因为取差集,不用rank,就不写rank
return this.Eid.Equals(temp.Eid) && this.Name.Equals(temp.Name) && this.Money.Equals(temp.Money); } //重写GetHashCode方法(重写Equals方法必须重写GetHashCode方法,否则发生警告 public override int GetHashCode()
{
return this.Eid.GetHashCode() + this.Name.GetHashCode() + this.Money.GetHashCode();
}
}   

    wtr.ItemsSource = week_top_rank;
    //wbr.ItemsSource = week_bottom_rank.Except(week_top_rank).ToList(); //排除重复的数据
    wbr.ItemsSource = week_bottom_rank.Where(d => !week_top_rank.Contains(d)); //排除重复的数据
    mtr.ItemsSource = month_top_rank;
    mbr.ItemsSource = month_bottom_rank.Except(month_top_rank).ToList(); //排除重复的数据

  

C# 重写Equals的更多相关文章

  1. 为什么重写equals时必须重写hashCode方法?

    原文地址:http://www.cnblogs.com/shenliang123/archive/2012/04/16/2452206.html 首先我们先来看下String类的源码:可以发现Stri ...

  2. java重写equals方法

    @Override public int hashCode() { return task.getId(); } @Override public boolean equals(Object obj) ...

  3. 重写Equals为什么要同时重写GetHashCode

    .NET程序员都知道,如果我们重写一个类的Equals方法而没有重写GetHashCode,则VS会提示警告 :“***”重写 Object.Equals(object o)但不重写 Object.G ...

  4. Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例(转)

    Java中==.equals.hashcode的区别与重写equals以及hashcode方法实例  原文地址:http://www.cnblogs.com/luankun0214/p/4421770 ...

  5. 【转】Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例

    原文地址:http://www.cnblogs.com/luankun0214/p/4421770.html 感谢网友的分享,记录下来只为学习. 1.重写equals方法实例   部分代码参考http ...

  6. 重写equals()方法时,需要同时重写hashCode()方法

    package com.wangzhu.map; import java.util.HashMap; /** * hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,<br/&g ...

  7. 为什么重写equals方法还要重写hashcode方法?

    我们都知道Java语言是完全面向对象的,在java中,所有的对象都是继承于Object类.Ojbect类中有两个方法equals.hashCode,这两个方法都是用来比较两个对象是否相等的. 在未重写 ...

  8. 为什么要重写equals()方法与hashCode()方法

    在java中,所有的对象都是继承于Object类.Ojbect类中有两个方法equals.hashCode,这两个方法都是用来比较两个对象是否相等的. 在未重写equals方法我们是继承了object ...

  9. RemoveAll 要重写equals方法

    public class User { private String name; private int age; //setter and getter public String getName( ...

  10. Hibernate中为什么要重写equals方法和hashcode方法

    1.*为什么要重写equals方法,首先我们来看一下equals源码: public boolean equals(Object anObject) { if (this == anObject) { ...

随机推荐

  1. 自学python之路(day1)

    1. 下载和安装Pycharm文本编辑器,解释器Python3 2. 了解python2和python3的不同 如输出中文时,python2需要在代码前加 # -*- encoding:utf-8 - ...

  2. golang反射

    要点 1.变量 2.反射 3.结构体反射 4.反射总结以及应用场景 一.变量介绍 1.变量的内在机制 A.类型信息,这部分是元信息,是预定义好的 B.值类型,这部分是程序运行过程中,动态改变的 var ...

  3. 运维yum语法

    软件管理 ​ 目前流行的软件包格式: 可直接执行的RPM与DEB.源代码形式的gzip与bzip2压缩包 RPM软件包管理 rpm rpm [选项] *.rpm -i --install instal ...

  4. 使用__slots__ __str__ __iter__

    __slots__ 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性. __str__  用这个命令定义方法,可以返 ...

  5. jquery 上滑加载更多

    $(document).ready(function() { var totalPage = {$totalPage};//总页数 var page = {$page}; //起始页 var page ...

  6. npm 镜像源替换为淘宝镜像

    1.查询配置的镜像源地址: npm get registry 2.配置为淘宝镜像源 npm config set registry http://registry.npm.taobao.org/ 3. ...

  7. Netty 服务端:新连接接入

    本文主要分析服务端新连接的接入过程,主要分为以下 3 各步骤: select 操作: processSelectedKeys 操作. 1. select 操作 在分析 select 操作前,先要回顾一 ...

  8. LDAP-HA安装与配置(Keepalived方式实现)

    LDAP部署 安装LDAP(主节点) 安装LDAP Server yum install db4 db4-utils db4-devel cyrus-sasl* krb5-server-ldap -y ...

  9. Vue原理--虚拟DOM

    为什么需要虚拟DOM? 如果对前端工作进行抽象的话,主要就是维护状态和更新视图,而更新视图和维护状态都需要DOM操作.其实近年来,前端的框架主要发展方向就是解放DOM操作的复杂性. 运行js的速度是很 ...

  10. 微信小程序之跳转、请求、带参数请求小例子

    wx.request(OBJECT) wx.request发起的是 HTTPS 请求.一个微信小程序,同时只能有5个网络请求连接. 具体参数说明参看微信小程序官方文档-发起请求. 例: //当页面加载 ...