• 值类型和引用类型的区别


    ㈠值类型  

      值类型数据主要有:结构体struct,枚举体enum,布尔类型bool,浮点型,整型。

      值类型继承system.ValueType.  值类型保存到栈stack中的是值。  

      值类型不可以包含null值,值类型不可以派生新的类型。  

      值类型变量赋给另一个值类型变量时,将复制包含的值。

    ㈡引用类型 

      引用类型数据主要有:数组,字符串,接口,委托,类。

      引用类型继承sytem.Object.  

      引用类型保存到栈中是地址。  

      引用类型可以派生新的类型。  

      引用类型变量赋值只复制对象的引用,不复制对象的本身。

    如下代码:
        //定义一个类
        public class MyClass
        {
            //声明一个变量
            public int numberA;
        }
    //定义一个结构
        public struct MyValue
        {
            //声明一个变量
            public int numberA;
        }
           static void Main(string[] args)
            {
                MyClass s1 = new MyClass(); //创建一个名为s1的对象,再给对象的变量赋值。
                s1.numberA = 12;
    
                MyClass s2 = s1;//声明一个类对象,名为s2,把s1中的值赋值给s2
                s2.numberA = 222;//把s2中的变量值改为222
    
                Console.WriteLine("s1的值为{0},s2的值为{1}",s1.numberA, s2.numberA);
    
                //创建一个名为r1的对象,再给对象的变量赋值。
                MyValue r1 = new MyValue();
                r1.numberA = 16;
    
                MyValue r2 = r1;
                r2.numberA = 666;
    
                Console.WriteLine("r1的值为{0},r2的值为{1}", r1.numberA, r2.numberA);
    
                Console.ReadLine();
    
            }

    输出:s1  222,   s2   222

       r1  16,     r2   166

  • 相关阅读:
    Codeforces977D ---Divide by three, multiply by two 深搜+map存出现的数
    HDU4522 湫湫系列故事——过年回家
    2018浙江省赛记录
    POJ3259 :Wormholes(SPFA判负环)
    上海高校金马五校赛 F题:1 + 2 = 3?
    牛客练习赛15A-吉姆的运算式(Python正则表达式瞎搞)
    ZOJ2018/4月月赛G题Traffic Light(广搜)
    luogu 3960 列队
    noip2017
    10.3 模拟赛
  • 原文地址:https://www.cnblogs.com/NaiHe0630/p/8818909.html
Copyright © 2020-2023  润新知