您的位置:首页 > 编程语言 > C#

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 });
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐