• 第二章.深入C#数据类型


     1.值类型和引用类型 
     
     值类型和引用类型
    常用的数据类型
    整形 int
    浮点型 foalt
    双精度浮点型 double
    字符串 string
    布尔 bool
    枚举 enum
    值类型
          值类型继承与System.ValueType类,每个值类型的对象都有一个独立的内存区域用于保存自己的值,值类型数据所在的内存区域称为栈(Stack)。只要在代码中修改它,就会在它的内存区域内保存这个值。

    引用类型
         引用类型继承与System.Object类,在C#中引用类型主要包括数组、类和接口等。

    细分值类型和引用类型
    值类型:

    基本数据类型:

    整形 int
    长整形 long
    浮点型 foalt
    双精度浮点型 double
    字符型 char
    布尔型 bool
     
    2.结构体  
     
    1.定义:  访问修饰符  struct   结构名  {            //结构体  }  
    (1)结构体可以有字段,方法,字段不能赋初始值。  (2)可以不new,但有条件,结构体中有成员变量和成员方法,成员变量没有赋值,调用成员方法,不new会报错,所以一般先new。
      
    例如:
    publicstructStudent{  publicintnum;  publicvoidshow()  {  }}
       
    staticvoidMain(string[] args)  {      Student stu;      stu.num;       stu.show();    }  //没有给成员变量赋值,报错
        
    staticvoidMain(string[] args)  {      Student stu;      stu.num=10;       stu.show();    }  //给成员变量赋值,不报错
       
    staticvoidMain(string[] args)  {      Student stu=newStudent();      stu.num;       stu.show();   }   //new出来,不报错

     3.装箱和拆箱    
     
     

     

     

     
    值类型 =============> 引用类型   (装箱)    
      引用类型 =============> 值类型   (拆箱)   
     
    1.要避免装箱和拆箱因为会减低程序性能。
     
    2.引用方式参数传递  
    (基本数据类型,如,整形,浮点型,字符型,bool行及结构属于值类型;数组,接口和类属于引用类型)  
      使用值方式(不用ref修饰)传递值类型参数时,参数在方法中的修改不会保留  
      使用值方式(不用ref修饰)传递引用类型参数时,参数在方法中的修改会保留  
      使用引用方式(用ref修饰)传递值类型或引用类型参数时,参数在方法中的修改都会保留
     
     
  • 相关阅读:
    python 线程 进程 标识
    创建2600个文件 批量创建文件 文件夹
    Do not use the <section> element as a generic container; this is what <div> is for, especially when the sectioning is only for styling purposes.
    js json
    大量陈旧进程的批量杀死
    positive 相对其正常位置,那什么是正常位置: 请问调试,请问浏览器
    CSS3 弹性盒子(Flex Box) 微信小程序图片通栏
    SHOW PROCESSLIST Syntax
    How MySQL Opens and Closes Tables refuse connections 拒绝连接的原因 file descriptors
    1250太小了 mysql 并发
  • 原文地址:https://www.cnblogs.com/1287758807cjh/p/8166080.html
Copyright © 2020-2023  润新知