数组类型和委托类型. 3.值类型 a.简单类型: 有符号的整型:sbyte(s = signed

时间:2021-11-23 09:19:08

1.C#有两种类型:值类型和引用类型.值类型的变量直接包罗数据,而引用类型的变量则存储对数据(称为"东西")的引用.借助引用类型,两个变量可以引用同一东西;因此,对一个变量执行的运算可能会影响另一个变量的东西.借助值类型,每一个变量都有本身的数据副本;因此,对一个变量执行的运算不会影响另一个变量(ref和out参数变量除外);

2.C#值类型又细分为简单类型,枚举类型,布局类型和可以为null的值类型.C#引用类型有细分为类类型,接口类型,数组类型和委托类型.

3.值类型

a.简单类型:

有标记的整型:sbyte(s = signed, 8 b), short(16 b),int(32),long(64).

无标记的整型:byte(8),ushort(u = unsigned),uint,ulong,

Unicode字符:char utf-16;

IEEE浮点:float,double 32位单精度和64位双精度 IEC-60559格局暗示 7位精度和15位精度

高精度浮点:decimal 适用于财务和货币计算的128位数据类型 至少为28位精度

布尔:bool

b.枚举类型:格局为enum E {...}的用户界说类型

c.布局类型: 格局为struct S {...}的用户界说类型

d.可以为null的值类型: 值为null的其他所有值类型的扩展.

4.引用类型:

a.类类型:

  其他所有类型的最终基类:object

  Unicode字符串:string utf-16代码单元

  格局为class C {...}的用户界说类型

b.接口类型 : 格局为: interface I {...} 的用户界说类型

c.数组类型 : 一维和多维, 例如 int[] 和 int[,];

d.委托类型 : delegate int D(...)的用户界说类型

5.类型声明指定新类型的名称和成员

a.class类型界说包罗数据成员(字段)和函数成员(要领,属性及其他)的数据布局.类类型撑持单一担任和多形性,及派生类可以扩展和专门针对基类的机制.?

b.struct 类型界说包罗数据成员和函数成员的布局,这一点与类类型相识.不过,这与类差此外是,布局是值类型,凡是不需要进行堆分配.布局类型不撑持用户指定担任,并且所有布局类型均为隐式担任类型object

c.interface 类型将协定界说为一组已定名的大众函数成员.实现interface的class或struct必需供给接口函数成员的实现代码.interface 可以担任多个基接口,class和strut可以实现多个接口

d.delegate类型暗示引用包罗特定参数列表和返回值类型的要领.通过委托,可以将要领视为可分配给变量并作为参数通报的实体.委托类同于函数式语言供给的函数类型。委托也类似于其他一些语言中的函数指针观点。但与函数指针差此外是,,委托不只面向东西,还类型安适。??

e.enum类型是一种包罗已定名常亮的奇特类型。每个enum类型都有一个根本类型(必需是八种整型之一)。enum类型的值集与根本类型的值集不异。?

6.C#撑持任意类型的一维和多维数组。

数组的声明赋值,非0开始,复制,不安适数组访谒:

。更多的旧不敲了,https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/types-and-variables;看都没看懂阿谁不成为null的值类型,感受那4行不切合逻辑。生吞活剥,之后还要深入的。