码迷,mamicode.com
首页 > Windows程序 > 详细

C# 类型和变量

时间:2017-11-03 22:04:38      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:这一   种类   otn   ieee   参数变量   有一个   单元   声明   公共函数   

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开始,复制,不安全数组访问:http://www.cnblogs.com/Demon-Su/p/7440672.html

。更多的旧不敲了,https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/types-and-variables;看都没看懂那个不可为null的值类型,觉得那4行不符合逻辑。不求甚解,之后还要深入的。

C# 类型和变量

标签:这一   种类   otn   ieee   参数变量   有一个   单元   声明   公共函数   

原文地址:http://www.cnblogs.com/zhyusblogs/p/7780235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!