C#学习笔记之——数据类型,引用参数类型
2017-12-05 17:40
393 查看
一、值类型、引用类型和指针类型
C#有三种类型:引用类型、值类型和指针类型。1、值类型:在栈中分配空间,由系统自动分配 如:枚举类型、j结构类型(数值类型(decimal、整数类型(sbyte、byte、char、short、short、int、uint、long、long)、浮点类型(float、double))、布尔类型、自定义结构类型)PS:double相比,decimal 类型具有更高的精度和更小的范围
2、引用类型:在堆中分配空间,由程序员用“new”来分配空间 如:Object、string、类、接口、委托、数组
3、指针类型同C和C++一样的使用,但还有一些特殊的地方,此处不讨论。
值类型在做赋值操作的时候,值类型变量相互赋值之后,两变量做任何操作都互不受影响,因为他们储存在不同的空间。引用类型相互赋值之后,因为他们共用一个空间,互相影响,一个值改变,另一个值也相应改变。
二、引用参数
为了让值类型的参数达到引用类型参数的效果,ref。ref修饰的变量在传递参数前一定要有初始值。三、输出参数
如果想要返回一个或多个的,out。out修饰的变量在传递之前,可以没有初始值。四、数组参数
如果形参列表中包含数组型参数,那么它必须位于参数列表中位于最后一位,而且必须是一维数组类型。另外,数组型参数不可能将params修饰符与ref和out修饰符组合起来使用。public int Avg (params int[] array) { int sum = 0; foreach (int a in array) { sum += a; } return sum; }
hero.Avg (1, 2, 3, 4, 5, 6, 7); hero.Avg (new int[]{ 1, 2, 3, 4, 5, 6, 7 });
相关文章推荐
- [javase学习笔记]-6.6 基本数据类型参数与引用数据类型参数的传递过程
- CLR Via C# 学习笔记(1) 基元类型 值类型 引用类型
- C#学习笔记5:数据类型与进制转换
- C#学习笔记: 数据类型的一些说明
- [学习笔记]Asp.net(C#)菜鸟进级系列之引用类型
- 学习android JNI的那些事儿--------6. 在java中传入引用数据类型(对象)作为参数
- C#学习笔记 —— 值类型和引用类型
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
- C#学习笔记第二篇之标识符、关键字、基本数据类型
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
- C#学习笔记: 值类型和引用类型
- C# 学习笔记(四) 结构体实现接口后是值类型还是引用类型
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
- .net学习之.net和C#关系、运行过程、数据类型、类型转换、值类型和引用类型、数组以及方法参数等
- CLR Via C# 学习笔记(1) 基元类型 值类型 引用类型
- c#学习笔记--数组、枚举、结构、值类型和引用类型
- C# in Depth Third Edition 学习笔记-- 值类型和引用
- c#学习笔记一:变量、常量、预定义数据类型
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
- 黑马程序员之c#学习笔记:C#值类型和引用类型区别