zoukankan      html  css  js  c++  java
  • c#基础值类和引用类型

    //值类型:int double char decimal bool enum struct
    //引用类型:string 数组 自定义类 集合 object 接口

    值传递传递的值得本身

    引用传递传递的是对对象的引用

    ref:将值传递改变为引用传递

     //值传递和引用传递
                int n1 = 10;
                int n2 = n1;
                n2 = 20;
                Console.WriteLine(n1);//10
                Console.WriteLine(n2);//20
                Console.ReadKey();

    如果是引用类型,是最后一个

     Person p1 = new Person(); //这是引用类型
                p1.Name = "张三";
                Person p2 = p1;
                p2.Name = "李四";
              //  p1.Name = "1223";
                Console.WriteLine(p2.Name);//反正是最后一个1233
                Console.WriteLine(p1.Name);//反正是最后一个
                Console.ReadKey();//李四
    //如果这里没有 p1.Name = "1223"; 这是李四李四

    装箱、拆箱
    装箱:就是将值类型转换为引用类型。
    拆箱:将引用类型转换为值类型。
    看两种类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系

    避免拆箱和装箱

    //这个地方没有发生任意类型的装箱或者拆箱
    //string str = "123";
    //int n = Convert.ToInt32(str);//看两种类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系


    //int n = 10;
    //object o = n;//装箱 值类型=>引用类型n =>o
    //int nn = (int)o;//拆箱

  • 相关阅读:
    模拟Promise
    js 重写concat
    js 重写 slice
    es6继承
    es5 简单继承
    iterator 和yield的关系
    iterator接口 ...和for of依赖的关键
    e.offsetX,Y到底是相对于谁
    mysql alter修改数据库表结构用法
    mysql修改表结构
  • 原文地址:https://www.cnblogs.com/liuweiqiang11188/p/6677651.html
Copyright © 2011-2022 走看看