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

  • 相关阅读:
    ajax 发送请求无法重定向问题
    网页中转跳转的几种方式
    后台返回的HTML整个页面代码打开方法
    Json对象与Json字符串的转化、JSON字符串与Java对象的转换
    SpringMVC ModelAndView跳转失效
    springMVC中前台ajax传json数据后台controller接受对象为null
    $.ajax 中的contentType
    springMVC--请求的跳转和传值
    Windows NT WinLogon Notify
    虚拟机检测技术剖析
  • 原文地址:https://www.cnblogs.com/qixiaolan/p/7683852.html
Copyright © 2011-2022 走看看