首页 > 代码库 > C# Equals
C# Equals
【C# Equals】
1、Object.Equals()
The type of comparison between the current instance and the obj parameter depends on whether the current instance is a reference type or a value type.
If the current instance is a reference type, the Equals(Object) method tests for reference equality, and a call to the Equals(Object) method is equivalent to a call to the ReferenceEquals method. Reference equality means that the object variables that are compared refer to the same object.
using System;// Define a reference type that does not override Equals.public class Person{ private string personName; public Person(string name) { this.personName = name; } public override string ToString() { return this.personName; }}public class Example{ public static void Main() { Person person1a = new Person("John"); Person person1b = person1a; Person person2 = new Person(person1a.ToString()); Console.WriteLine("Calling Equals:"); Console.WriteLine("person1a and person1b: {0}", person1a.Equals(person1b)); Console.WriteLine("person1a and person2: {0}", person1a.Equals(person2)); Console.WriteLine("\nCasting to an Object and calling Equals:"); Console.WriteLine("person1a and person1b: {0}", ((object) person1a).Equals((object) person1b)); Console.WriteLine("person1a and person2: {0}", ((object) person1a).Equals((object) person2)); }}// The example displays the following output:// person1a and person1b: True// person1a and person2: False// // Casting to an Object and calling Equals:// person1a and person1b: True// person1a and person2: False
2、ValueType.Equals()
比较两个值是否相等。
参考:
1、http://msdn.microsoft.com/zh-cn/library/bsc2ak47(v=vs.110).aspx
2、http://msdn.microsoft.com/zh-cn/library/2dts52z7(v=vs.110).aspx
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。