C#中在比较自定义对象的时候要重写Equals方法
using System;
using System.Collections.Generic;
using System.Text;
namespace Equal
{
    using System;
class Test
    {
        public static void Main()
        {
            Person p1 = new Person("A", 1);
            Person p2 = new Person("A", 1);
if (p1.Equals (p2))
            {
                Console.WriteLine("true");
            }
            else
            {
                Console.WriteLine("false");
            }
        }
}
    class Person
    {
        private string name;
        private int age;
public Person()
        {
            this.name = "";
            this.age = 0;
        }
        public Person(string name, int age)
        {
            this.name = name;
            this.age = age;
        }
//重写Equals方法
public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return false;
            }
            if ((obj.GetType().Equals(this.GetType())) == false)
            {
                return false;
            }
            Person temp = null;
            temp = (Person)obj;
return this.name.Equals(temp.name) && this.age.Equals(temp.age);
}
//重写GetHashCode方法(重写Equals方法必须重写GetHashCode方法,否则发生警告
public override int GetHashCode()
        {
            return this.name.GetHashCode() + this.age.GetHashCode();
        }
    }
}
C#中在比较自定义对象的时候要重写Equals方法的更多相关文章
- 向集合中添加自定义类型--建议在自定义类型的时候要重写equals方法
		
package com.bjpowernode.t01list; import java.util.ArrayList; /* * 向集合中添加自定义类型 */public class TestLis ...
 - 去除ArrayList集合中的重复自定义对象元素
		
要求去除ArrayList集合中重复的Student的对象(什么叫重复,所有属性值都相同叫做重复). 思路: 1.创建一个新集合 2.遍历旧集合中的每一个元素,去新集合中找这个元素,如果这个元素不存在 ...
 - java开发----自定义对象,重写equals方法
		
javaweb开发中,用到了好多自定义对象,这时候如果不重写equals方法,很多时候都会返回false, 因此我们必须习惯重写这个方法. 重点: 1.equals比较俩对象时比较的是对象引用是否指向 ...
 - JAVA中重写equals()方法的同时要重写hashcode()方法
		
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...
 - JAVA中重写equals()方法为什么要重写hashcode()方法?
		
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...
 - Java中equals和==的区别?为什么重写equals方法后,一定要重写hashCode方法?
		
首先明确一点,equals是方法,==是操作符. 1. 如果比较的是基本数据类型: 只讨论==,因为equals是不存在的,因为java中基本数据类型不能调用method的. 2. 如果比较的是引用类 ...
 - 一文搞懂--Java中重写equals方法为什么要重写hashcode方法?
		
Java中重写equals方法为什么要重写hashcode方法? 直接看下面的例子: 首先我们只重写equals()方法 public class Test { public static void ...
 - Swing自定义JScrollPane的滚动条设置,重写BasicScrollBarUI方法
		
Swing自定义JScrollPane的滚动条设置,重写BasicScrollBarUI方法 摘自:https://blog.csdn.net/qq_31635851/article/details/ ...
 - JS中的内置对象简介与简单的属性方法
		
JS中的数组: 1.数组的概念: 数组是在内存中连续存储的多个有序元素的结构,元素的顺序称为下标,通过下标查找对应元素 2.数组的声明: ①通过字面量声明var arr1 = [,,,,] JS中同一 ...
 
随机推荐
- Button颜色选择器进阶
			
drawable/button_color.xml <?xml version="1.0" encoding="utf-8"?> <selec ...
 - 【Python系列】Python自动发邮件脚本-html邮件内容
			
缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月, ...
 - ArrayList去除重复元素(包括字符串和自定义对象)
			
1.去除重复字符串 package com.online.msym; import java.util.ArrayList; import java.util.Iterator; @SuppressW ...
 - 用PHPExcel类读取excel文件的内容
			
这里对PHPExcel类不做介绍,有兴趣的朋友可以自己查阅资料 在classes文件夹下有个PHPExcel.php文件,这个文件是这个类库的主要入口文件,在用之前,要引入这个类 其他的类,在此类中会 ...
 - js移动端横竖屏检测
			
方法一:用resize事件来判断,利用屏幕的宽高比,来判断横竖屏 (兼容性较好) (function () { var updateOrientation = function () { var or ...
 - 【Egret】在WebStorm里使用Egret Engine 的注意点
			
1.开启代码提示 2.修改egret code后,自动编译新egret code 按照下图进行设置: ①打开"File-settings" ② ③ (PS:webstorm打开目录 ...
 - get你想象不到的技能
			
1.取消选取.防止复制 <body selectStart="return false"> </body> 2.不允许粘贴 <body onpaste ...
 - (iOS)私有API的使用(原创)
			
最近在做企业级程序,需要搞设备的udid等信息,但是ios7把udid私有化了,不公开使用.所以研究了一下ios的私有api. 调查了一下文章,发现这方面的文章不多,国内更是不全,高手们都懒得写基础教 ...
 - Redis基础学习(五)—Redis的主从复制
			
一.概述 Redis的主从复制策略是通过其持久化的rdb文件来实现的,其过程是先dump出rdb文件,将rdb文件全量传输给slave,然后再将dump后的操作实时同步到slave中.让从服务 ...
 - mysql视图 更新中的问题
			
mysql view 类型 mysql的视图有三种类型:merge.temptable.undefined.如果没有ALGORITHM子句,默认算法是UNDEFINED(未定义的). 算法会影响MyS ...