C#中的equals()和==
生活随笔
收集整理的這篇文章主要介紹了
C#中的equals()和==
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
using System;namespace EqualsTest
{class EqualsTest{static void Main(string[] args){//值類型int x = 1;int y = 1;Console.WriteLine(x == y);//TrueConsole.WriteLine(x.Equals(y));//True //引用類型A a = new A();B b = new B();//Console.WriteLine(a==b);//報錯Console.WriteLine(a.Equals(b));//False//字符串(最像值類型的引用類型)string m = "1";string n = "1";Console.WriteLine(m==n);//TrueConsole.WriteLine(m.Equals(n));//True//結構體(最像引用類型的值類型)T t = new T();V v = new V();//Console.WriteLine(t == v);//報錯Console.WriteLine(t.Equals(v));//True
Console.Read();}}class A { public int X = 1; }class B { public int X = 1; }struct T { int X; }struct V { int X; }}
總結:
①兩個“相同”的對象進行比較,不管是equals()還是==,值類型都返回True,引用類型都返回False。
②上面的①并不完全正確,因為有兩個特例:結構體(最像引用類型的值類型);字符串(最像值類型的引用類型)。
③引用類型(除去字符串),以及結構體,根本不能用==去對比,編譯就會報錯。
?
轉載于:https://www.cnblogs.com/9cct/p/7749358.html
總結
以上是生活随笔為你收集整理的C#中的equals()和==的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TP5_学习
- 下一篇: Java 集合-集合介绍