• 深入C#数据类型


     巧记:值(无ref)+值=不变
    值(无ref)+引=变
    引(有ref)+值/引=变
    1.值类型和引用类型

      1.引用类型

      源于system.object家族。

        (1)类

        (2)接口:interface

        (3)数组

        (4)字符串:string:

      2.值类型

      源于system.valueType家族

      值类型数据所在的内存区域为栈。

      3.值类型:

        (1)基本数据类型{int,long,double,byte~~~~}

        (2)枚举:enum

        (3)结构体:struct

    2.结构体

      1.定义:

      访问修饰符  struct   结构名

      {

                //结构体

      }

      (1)结构体可以有字段,方法,字段不能赋初始值。

      (2)可以不new,但有条件,结构体中有成员变量和成员方法,成员变量没有赋值,调用成员方法,不new会报错,所以一般先new。

      例如:

    复制代码
    复制代码
    public struct Student
    
    {
    
      public int num;
    
      public void  show()
    
      {
    //代码
      }
    
    }
    复制代码
    复制代码

      

    复制代码
    复制代码
    static void Main(string[] args)
    
      {
    
          Student stu;
    
          stu.num;
    
           stu.show();  
    
      }
    
      //没有给成员变量赋值,报错
    复制代码
    复制代码

      

    复制代码
    复制代码
    static void Main(string[] args)
      {
    
          Student stu;
    
          stu.num=10;
    
           stu.show();  
    
      }
    
      //给成员变量赋值,不报错
    复制代码
    复制代码

      

    复制代码
    复制代码
    static void Main(string[] args)
      {
    
          Student stu=new Student();
    
          stu.num;
    
           stu.show(); 
    
      } 
    
       //new出来,不报错
    复制代码
    复制代码

    3.装箱和拆箱 

      提示:尽量减少装箱和拆箱,因为他们会消耗程序的性能。

      1.值类型 =============> 引用类型   (装箱)

         引用类型 =============> 值类型   (拆箱)

      2.要避免装箱和拆箱因为会减低程序性能。

    4.引用方式参数传递

      (基本数据类型,如,整形,浮点型,字符型,bool行及结构属于值类型;数组,接口和类属于引用类型)

      使用值方式(不用ref修饰)传递值类型参数时,参数在方法中的修改不会保留

      使用值方式(不用ref修饰)传递引用类型参数时,参数在方法中的修改会保留

      使用引用方式(用ref修饰)传递值类型或引用类型参数时,参数在方法中的修改都会保留

  • 相关阅读:
    网速成为了工作的瓶颈之一
    项目实施(一)
    一个命运曲折的项目进行曲
    一次小系统的快速开发经历
    项目实施(二)
    进销存系统的成本核算方法一览
    比较2个DataTable中的内容是否相同的方法
    正则表达式 集会
    Url地址重写,利用HttpHander手工编译页面并按需生成静态HTML文件
    定时执行sql存储过程
  • 原文地址:https://www.cnblogs.com/liehuonanjue/p/8166067.html
Copyright © 2020-2023  润新知