zoukankan      html  css  js  c++  java
  • 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);

        }
      }
    }

  • 相关阅读:
    [ARC117F]Gateau
    [ARC117D]Miracle Tree
    [loj3504]支配
    [gym102511K]Traffic Blights
    [loj3501]图函数
    [loj3503]滚榜
    [loj3500]矩阵游戏
    [loj2135]幻想乡战略游戏
    [cf720D]Slalom
    [cf1349E]Slime and Hats
  • 原文地址:https://www.cnblogs.com/darwen/p/7808127.html
Copyright © 2011-2022 走看看