zoukankan      html  css  js  c++  java
  • 深入C#数据类型

    1.值类型和引用类型

      1.值类型:

      源于system.valueType家族

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

      2.引用类型

      源于system.object家族。

        (1)类

        (2)接口:interface

        (3)数组

        (4)字符串:string

      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修饰)传递值类型或引用类型参数时,参数在方法中的修改都会保留

  • 相关阅读:
    11->centos6 安装oracle
    centos7安装rlwrap
    ajax
    java获取时间戳
    idea主要设置大纲图
    ppycharm设置解释器版本号码
    JTA 深度历险
    学会数据库读写分离、分表分库——用Mycat,这一篇就够了!
    分库分表的几种常见玩法及如何解决跨库查询等问题
    深入浅出SOA
  • 原文地址:https://www.cnblogs.com/wxl941549541/p/8157771.html
Copyright © 2011-2022 走看看