1、对比值类型和引用类型
2、传递方式
按值传递、按地址传递
3、方法中参数的类型
值参数
利用值方式传递数,被调用的方法不会修改内存中的实参的值
引用参数(ref)
引用参数不开辟新的内存控件,调用带引用参数的方法可以在该方法 内部改变调用方法的参数值
输出参数(out)
仅用于从方法传递会一个结果(如sql存储过程中的output 参数)
4、值类型:简单类型(int、float、char)、结构、枚举
5、引用类型:类、接口、数组、字符串
6、在默认情况下,值类型的参数传递不会影响参数本身引用方式进行参数传递时会影响到参数本身,因为两个变量引用了内存中的同一块地址
7、params关键字与数组有关,修饰参数时,调用方法时既可以使用数组,也可以使用单个的值,单个值的个数不受限制
8、枚举-enum
枚举是一种特殊的值类型,用来定义一组常数。
枚举是一个指定的常数,其基础类型可以是任何整型,默认数据类型为int。
定义静态常量,且按照一定的顺序排列或者当参数、返回值、变量等类型可以是枚举时,不要使用其他基础类型,可以用枚举定义
枚举的声明:访问修饰符 enum
枚举名称{
枚举成员,
枚举成员
}
public struct StructStudent { public string name; public int Age; public string Hobby; public int Popularity; public void SayHi() { …. } }
9、结构的特点
结构中定义的变量不能赋初值
结构不能声明默认构造函数(没有参数的构造函数),结构可以声明构造函数,但他们必须带参数
结构是一种用法与类相似但实现不同的数据类型
结构是值类型,类是引用类型。
一般结构适用于包含数据比较少,只有一些简单方法的情况
10、Const和readOnly
const是编译时常量,定义时就只能赋值一次
readonly是运行时常量,运行前值可以改变,运行后值不能改变
11、
结构是一种用法与类相似但实现不同的数据类型
用struct关键字声明
结构是值类型