zoukankan      html  css  js  c++  java
  • C# 值类型与引用类型的异同

    int,bool,decimal等为值类型

    List,Stream等为引用类型

    用等号设置一个值类型变量等于另一个变量时,会完成复制,之后这两个变量相互之间没有任何影响;

    对引用使用等号时,这两个引用就会指向同一个对象

    对于值类型和引用类型,变量声明和复制都是一样的。

    int howMany = 25bool Scary = true;
    
    List<double> temperatures = new List<double>();

    int和bool为值类型,List为引用类型,他们都以相同的方式初始化

    但一旦开始赋值就不同了。

    值类型的赋值:

    int fifteenMore = howMany;
    
    fifteenMore += 15;
    
    Console.WriteLine("howMany has {0},fifteenMore has {1}",howMany,fifteenMore);

    输出:howMany has 25,fifteenMore has 40

    引用类型赋值:

    temperatures.Add(56.5D);
    
    temperatures.Add(27.4D);
    
    List<double> differentList = temperatures;
    
    differentList.Add(62.9D);
    
    Cosole.WriteLine("temperature has {0},differentlist has {1}",temperature.Count(),differentList.Count());

    输出:temperatures has 3,differentList has 3

  • 相关阅读:
    Java内部类详解
    浅谈Java中的深拷贝和浅拷贝(转载)
    native为本地方法
    Java NIO:NIO概述
    Java NIO:浅析I/O模型
    Hash表
    浅谈Java中的hashcode方法
    spring boot学习(转)
    Spring Boot修改内置Tomcat端口号
    K8S
  • 原文地址:https://www.cnblogs.com/fws94/p/6681834.html
Copyright © 2011-2022 走看看