一周学会C#(值的类型一)

王朝c#·作者佚名  2006-01-08
宽屏版  字体: |||超大  

一周学会C#(值的类型)

C#才鸟(QQ:249178521)

1.整型

类型

位数

System.

与CLS兼容?

有无符号

sbyte

8

SByte

ushort

16

UInt16

uint

32

UInt32

ulong

64

UInt64

byte

8

Byte

short

16

Int16

int

32

Int32

long

64

Int64

有符号整形和字节型是属于“通用语言认证系统”(CLS)的。而无符号整形不属于CLS。

你可以使用原始的类型关键字(如int)或与之对应的别名(如System.Int32),这两种方法都是可行的。但唯一例外的情况是:当你把类型名作为.net framework函数实参的时候,你只能使用System.Int32,而不能使用int。例如,你必须这样调用:Type.GetType("System.Int32"),而Type.GetType("int")语句是错误的。这是因为int只是C#中的关键字,而.net framework函数是设计成在所有的.net语言中都通用的。必须注意的是byte在C#中是无符号的。

注意:byte和sbyt只有8位,因此它们不能作为数组的元素,因为数组元素的最小尺寸是16位(2字节)。

2.基本操作符

括号

(x)

访问成员

x.y

函数调用

f(x)

访问数组(不是元素)

a[x]

自增

x++

自减

x--

调用构造函数

new

获得类名

typeof

获得尺寸

sizeof(不安全的)

数值检查

(un)checked

基本操作符具有最高的优先级。

new只能在调用构造函数的时候使用,并且不能被用来重载。使用new来调用结构的构造函数会在栈(stack)中分配内存,而用new来调用类的构造函数会在堆(heap)中分配内存。在C#中,结构是值类型的,类是引用类型的。

sizeof返回类或一个表达式的尺寸,但它只能用在标识为unsafe的代码块中。

checked和unchecked操作符用来控制是否检查算术运算溢出。

3. 操作符的优先级别

基本操作符

见上表

一元操作符

+ - ! ~ ++x –-x (T)x

乘和除

* / %(取余数)

加和减

+ -

移位

<< >>

关系

< > <= >= is as

相等

== !=

位操作

& ^ | (注意:左边比右边级别高)

布尔

&& || ?: (注意:左边比右边级别高)

赋值

= *= /= %= += -= ...

所有的一元操作符都可以重载。

乘和除、加和减、移位、关系(is as 例外)、相等和位操作可以重载。

&&和||只能使用true/false转换操作符时才可以重载。

?:和=不能重载。

复合赋值操作符(如*= /=)可以重载。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有