• C#基本语法复习-理解值和引用


    复制值类型的变量和类:

      除了string类型为引用类型外,C#的大多数基本数据类型都是值类型。

      值类型复制时,会产生一个副本,对副本的修改不会对原值产生影响,而对于引用类型,对象只有一个是存储在堆上的,复制时只是将其引用进行复制,应用中包含了该对象的一个地址。

    理解null值和可空类型:

      可以将null赋值给引用变量。

    使用可空类型:

      null为一个引用不能将其赋给值类型,但是可以将一个变量声明为可空的值类型,int? i=null;

    理解可空类型的属性:

      hasvalue属性指出一个可空类型是包含一个真正的值,还是一个包含null,通过value属性可以获得值。

    使用ref与out操作:

      为了实现形参修改实参。

    创建ref参数:

      如果为一个参数附加了ref关键字作为前缀,该参数就会成为实参的一个别名,而不是一个副本,想一个ref参数传递一个实参时,实参也必须附加ref关键字作为前缀,格式如:

      void a(ref int a)

      {a++;}

      void b()

      {int arg=42;

      a(ref arg);}

      变量使用前必须赋值;

    创建out参数:

      out参数可由方法本身来初始化参数,在方法体中对实参进行初始化;

    计算机的内存组织方式:

      操作系统和运行时通常将用于容纳数据的内存分为两个独立的区域,每个区域都采用不同的方式进行管理,这两个区域就称为栈和堆;

      调用一个方法时,它的参数以及它的局部变量需要的内存总是从栈中获取,方法结束后,为参数和局部变量分配的内存将自动归还给栈

      使用new关键字来创建一个对象时,构造对象所需的内存总是从堆中获取的;

    system.object类:

      为所有类的一个基类;

    装箱:

      用object引用一个值类型如下:

      int i=32;

      object o=i;

      运行时在堆中分配一小片内存,然后i中的值的一个副本被复制到再片内存中,最后让o引用这个副本,这种将一个数据从栈自动复制到堆中的行为叫做装箱;

    拆箱:

      对已装箱的值进行前值类型转换

    数据类型的安全转换:

      is与as 操作符 is o is 类型 返回值是一个bool类型的值,as操作符则在判断的同时如果成功则直接返回该类型,失败则为null

      

  • 相关阅读:
    nyoj 69 数的长度
    hdu 1437 天气情况【概率DP】
    hdu 2058 The sum problem
    hdu 1491 Octorber 21st
    Aras学习笔记(16)- Aras官方项目Tree Grid View Sample原理介绍
    Aras学习笔记 (15)
    Aras学习笔记 (14) DotNet操作Aras常用代码代码汇总(陆续更新中)
    Aras学习笔记 (13) Javascript端常用代码代码汇总(陆续更新中)
    Aras学习笔记 (12) C#代码读取域用户列表(转,翻译)
    Aras学习笔记 (11) Aras集成AD账号
  • 原文地址:https://www.cnblogs.com/hanshuidecangsanggan/p/4387521.html
Copyright © 2020-2023  润新知