深入C#数据类型

一:值类型和引用类型

 1.值类型:

  值类型源于System.Value家族,每个值类型的对象都有一个独立的内存区域用于保存自己的值,值类型

  所在的内存区域称之为栈(Stack),只要在代码中修改它,就会在内存区域保存这个值。

  (对于值类型,不同的变量会分配不同的存储空间,并且在存储空间中存储的是该变量的值。赋值操作

          传递的是变量的值,改变一个变量的值不会影响另一个变量的值)

示例代码:

class program{

              static  void Main(string[] args)

{

int  heightZhang =170;

int heightLi= heightZhang;

Console.WriteLine("去年--张浩的身高是:" +heightZhang+",李明身高是:"+ heightLi);

 heightLi =180;

Console.WriteLine("今年--张浩的身高是:" +heightZhang+",李明身高是:"+ heightLi");

 

}

 2.引用类型:

  引用类型源于System.Object家族,在C#中引用类型主要包括数组,类和接口等。引用类型所在的内存区

二.结构体

  1.定义:

  访问修饰符  struct   结构名

  {

            //结构体

  }

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

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

三:装箱和拆箱

 

  将值类型转换为引用类型的过程称为装箱,反之称为拆箱

  实际开发尽量避免 装/拆 箱

    原因:

      装/拆 箱都会降低程序性能

四:不同类型的参数传递

 

概述:

使用值传递,在方法中对参数值的更改在调用后不能保留.

使用ref方式传递,可以保留对参数值的更改.

 

posted @ 2018-01-01 08:38  阿辉啊  阅读(126)  评论(0编辑  收藏  举报