⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 对等性和唯一性.txt

📁 C# 是创新性的新式编程语言
💻 TXT
字号:
对象的等值性(Equals)与唯一性(ReferenceEquals)
System.Object 类型提供了一个名为Equals的虚方法,
目的是判断两个对象(实例)是否有相同的值。

策略为:
如果进行比较的两个引用指向的是同一个对象,返回true,否则返回false.
在自定义的类型中重写Equals方法的规则:
1.自反的。
2.对称的。
3.可传递的。
4.前后一致的。

实现Equals的三种方式
1.为基类没有重写Ojbect.Equals方法的引用类型实现Equals.
2.为基类已经重写Ojbect.Equals方法的引用类型实现Equals.
3.为值类型实现Equals方法。


唯一性判断

判断两个引用是否指向同一个对象。

using System;
class RefType{public Int32 x;}//引用类型(因为'class'修饰符)
struct ValType{public Int32 x;}//值类型(因为'struct'修饰符)

class Hello 
{
   static void Main() 
   {
				RefType r1=new RefType();
				RefType r2=r1;
				Console.WriteLine(object.ReferenceEquals(r1,r2));//True
				
				r2=new RefType();				
				Console.WriteLine(object.ReferenceEquals(r1,r2));//False
				
				Int32 x=5;
				
				Console.WriteLine(object.ReferenceEquals(x,x));//x被两次装箱到不同的地方了,False
      
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -