码迷,mamicode.com
首页 > Windows程序 > 详细

深入c#数据类型

时间:2017-07-08 14:13:52      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:span   影响   ref   bsp   保留   height   访问   依据   空间   

数据类型按存储方式可分为两类:值类型和引用类型.

1值类型

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

值类型数据所在的内存区域成为栈(Stack),只要代码中修改它,就会在它的区域内保存这个值,值类型主要包括基本数据类型和枚举类型等.

对于值类型,不同的变量会分配不同的存储空间,并且存储空间中存储的是该变量的值,赋值操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值.

2.引用类型

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

对于引用类型,赋值是把原对象的引用传递给另一个引用,对数组而言,当一个数组引用赋值给另一个数组引用后,这两个引用指向同一个数组,也就是指向同一块

存储空间.

 

细分值类型和引用类型

值类型:1. 基本数据类型  2.枚举类型   3.结构类型  

引用类型: 1.类   2.接口   3.数组  

 

结构

1.结构的定义   

访问修饰符   struct  结构名

{

     //结构体

结构的定义有以下特点:

1.结构中可以有字段,也可以有方法

2.定义时,结构中的字段不能被赋初值

 

结构的使用

1.可以不用new

2.声明结构的对象后,必须给结构的成员赋初值.

 

装箱和拆箱

1 int i = 123;
2 object o = i;      //装箱:值类型转换为引用类型
3 int j=(int)o;     //拆箱:引用类型转换为值类型

 不同类型的参数传递

1.怎样区分是值传递还是引用传递?

判断依据是有没有ref.

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

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

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

 

深入c#数据类型

标签:span   影响   ref   bsp   保留   height   访问   依据   空间   

原文地址:http://www.cnblogs.com/liutao1122/p/7001775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!