C#数据类型:值类型和引用类型 (两者相互转换时进行装箱和拆箱)
值类型:
简单类型(整数类型、布尔类型、字符类型、实数类型)、
结构类型(struct,结构类型可以作为另一个结构的成员类型。每个变量叫成员)、
枚举类型(为一组在逻辑上密不可分的整数值提供便于记忆的符号。每个整型变量叫元素)。
引用类型(引用类型实际存储数据引用值的地址):
类(数据成员(常量、域、事件)、函数成员(方法、属性、索引指示器、运算符、构造函数、析构函数)、嵌套类型)、
类支持集成机制——代码重用和设计重用
System.object类和System.string类
注意:类和结构都包含了自己的成员,区别在于类是引用类型、结构是值类型。
代表(delegate,相当于指针原型,而且相对安全)、
C和C++中,滥用指针给程序的安全性埋下了隐患,所以C#中取消了指针的概念,用的话要声明“非安全”unsafe。
注意:不能有返回值、不能带有输出类型的参数。
delegate int MyDelegate();
MyClass mc = new MyClass();
MyDeleaget d1 =new MyDelegate(mc.InstanceMethod);
d1();
//指向静态方法
MyDelegate d2 = new MyDelegate(MyClass.StaticMethod);
d2();
数组(System.Array)、
数组是一组类型相同的有序数据,按照数组名、数据元素的类型和维数来进行描述。
接口。
C#装箱(boxing)和拆箱(unboxing):
值类型和引用类型之间的转换,称为绑定链接。
装箱:把值类型转换成引用类型,也就是创建一个对象实例并把这个值赋值给它
拆箱:把引用类型转换成值类型,
注意:转换时必须遵循类型兼容原则。
C#变量(variable):
静态变量、非静态变量、数组元素、值参数、引用参数(ref int a)、输出参数(out int b)、局部变量。
常量 public const double d=1.0;
C#类型转换:
隐式转换和显示转换(强制类型转换)
C#表达式:
逻辑与操作符 & 位运算,a和b均为1,则为1
逻辑或操作符 | 位运算,a和b有1则为1。
条件与操作符 && 二元操作符,a和b返回值相同时为真。
条件或操作符 || 二元操作符,a和b有真则为真。
C#类:
类的修饰符:
public 不限制
protected 只能从所在类和派生类进行访问
internal 当前类访问
private 对.net中的应用程序或库才能访问
C#方法:
参数类型,值参数、引用型参数(ref)、输出参数(out)、数组参数(params)
值参数:传递参数(形参)时把实参拷贝后的值传给方法,以保证实际值是安全的。
引用参数:不开辟新的内存,传递形参时是把实参在内存中的地址传递给方法。
输出参数:不开辟新的内存,调用方法前无需对变量进行初始化。可返回多个结果。
转载于:https://www.cnblogs.com/cnqct/p/9354936.html