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);

        }
      }
    }

  • 相关阅读:
    python
    js 对嵌套页面的父页面进行跳转
    HTML 添加空格
    python
    python
    python
    面向对象编程基础(进阶4)
    Python模块(进阶3)
    Python函数式编程(进阶2)
    python进阶介绍(进阶1)
  • 原文地址:https://www.cnblogs.com/darwen/p/7808127.html
Copyright © 2011-2022 走看看