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

    值类型和引用类型通俗来讲:就是存储的地方不一样,

    值类型 int double bool char  struct(结构) enum(枚举)  存放在托管堆上边,

    引用类型:string  object class  存放到栈上。

    简单来说  比如 int a=1; int b=a;那么为b赋值的时候,就是把a的值复制一份,在内存中心创建一块区域保存b的值。a和b的存储是独立的

    class a=new class(); class b=a;那么为b赋值的时候,仅仅把a的引用地址复制给b。这样a和b就指向内存中的同一个地址。a和b是关联的。

    值类型是对象与对象之间的相互赋值

    引用类型 赋的是引用地址 没有值的传递

        class Program
        {

            public class Staff
            {
                //引用类型
                public string FirstName { get; set; }
                public string LastName { get; set; }
                public int Salary { get; set; }
            }

            public struct Employee
            {
                public string FirstName { get; set; }
                public string LastName { get; set; }
                public int Salary { get; set; }
            }

       }

            static void Main(string[] args)
            {

            Staff s1 = new Staff { FirstName = "123" };
            Staff s2 = s1;  //只赋值地址 不赋值
            s2.FirstName = "abc";
            Employee e1 = new Employee { FirstName = "123" };//e1="123"
            Employee e2 = e1;
            e2.FirstName = "abc";
            Console.WriteLine("s1=" + s1.FirstName + ", e1=" + e1.FirstName);

           }

    最后输出s1=abc  e1=123

  • 相关阅读:
    Comet OJ
    Comet OJ
    Comet OJ
    Comet OJ
    Codeforces Round #562 (Div. 2)
    P1202 USACO1.1 黑色星期五
    P1201 USACO1.1 贪婪的送礼者
    【线段树】HDU1166:敌兵布阵
    标准C++中的string类的用法总结(转)
    【递归】分形
  • 原文地址:https://www.cnblogs.com/qixiaolan/p/7683852.html
Copyright © 2011-2022 走看看