欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Object类的用法(一)

发布时间:2025/3/15 编程问答 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Object类的用法(一) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
using System;
using System.Collections.Generic;
using System.Text; namespace Object.ReferenceEquals_方法
{
    class Program
    {
        static void Main(string[] args)
        {
            A x = new A();
            A y = new A(); //A x = null;
            //A y = null; //A x; //与上面加null的不等价  提示错误是:使用了未赋值的局部变量“x"
            //A y; //与上面加null的不等价
            //public static bool ReferenceEquals
            //  (
            //    Object objA,
            //    Object objB
            //  ) //确定指定的 Object 实例是否是相同的实例。
            //如果 objA 是与 objB 相同的实例,或者如果二者都为空引用,则为 true;否则为 false。 bool m =object.ReferenceEquals(x, y); //等价于bool m =A.ReferenceEquals(x, y);同下面的Equals方法
            Console.WriteLine(m);           //还等价于 bool m = B.ReferenceEquals(x, y); 
            bool n = Program.Equals(x, y);   //这里有点奇怪可以把Program换成A,也可以把Program去掉,等价于n =x.Equals(y);
            Console.WriteLine(n);
          
          
          
            x = y;
            n =object.Equals(x, y);  //等价于n =A.Equals(x, y); 还等价于n =x.Equals(y);
            Console.WriteLine(n);
            Console.ReadKey();
        }
    }
    class A{}
     
    class B{}
   
} //对于类的实例的比较,这三种方法是作用是一样的,都是比较引用
//所有的类和结构(包裹自定义的)都具有Equals(带一个参数的,Equals(带两个参数的),GetHashCode,GetType,ReferenceEquals,ToString 六个方法 //所有的类和结构(包裹自定义的)的Equals(带两个参数的),ReferenceEquals和GetType方法都是从Object类继承的,因为他们不是虚拟方法
//所以这3个方法一定不是重写的,而其他三个方法都是虚拟的,可以重写。其中Equals(带两个参数的)和ReferenceEquals是静态方法,而GetType方法是实例方法 //Equals(带一个参数的,Equals(带两个参数的)和ReferenceEquals方法的返回值类型为bool
//GetType方法返回值类型为System.Type
//GetHashCode方法返回值类型为int 创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的Object类的用法(一)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。