• Day3 02判定两个对象的引用是否相同


    C#中类型分为值类型和引用类型

    清楚了他俩的区别,像验证下,如果在C++中,就可以通过指针直接看地址,但是C#中,找了一会儿没找到方法(主要是我技术比较菜)。

    不过,用根基类的ReferenceEquals静态方法可以判断两个对象的引用是否相等

    使用方法如下:

    Object.ReferenceEquals(arrayN1, arrayN2)  返回值是布尔类型

    值类型: 比如 int   

    int a = 5;

    int b = a;   //这时,b有自己的内存空间,a只是把他的值赋给了b。改变b的值,不会影响到a。

    引用类型:如果 类 class

    class Dog{}

    class Dog1 = new Dog();

    class Dog2 = Dog1;   //这时,Dog2没有自己的内存空间,Dog1把自己的内存地址给了2,这时,如果该Dog2的值,Dog1的值也随之改变。

    例如:

    namespace 测试
    {

      class Program
      {
        static void Main(string[] args)
        {
          int a = 10;
          int b = a;

          int[] arrayN1 = { 12, 3, 4, 5, 6, 7 };
          int[] arrayN2 = arrayN1;

          // 用根基类的ReferenceEquals静态方法可以判断两个对象的引用是否相等
          Console.WriteLine(Object.ReferenceEquals(arrayN1, arrayN2));

          Console.ReadKey(true);

        }
      }
    }

  • 相关阅读:
    硬件——STM32 , SN74HC573锁存器
    【模拟】【杂题】jzoj 6345. 【NOIP2019模拟2019.9.8】ZYB建围墙
    归并排序求逆序对
    归并排序求逆序对
    hdu 4135
    hdu 4135
    牛客小白月赛5 A-无关(relationship)
    牛客小白月赛5 A-无关(relationship)
    HDU4027:Can you answer these queries?
    HDU4027:Can you answer these queries?
  • 原文地址:https://www.cnblogs.com/darwen/p/7808127.html
Copyright © 2020-2023  润新知