CSDN博客

img zhf7878

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

发表于2004/1/12 17:10:00  520人阅读

一周学会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语言中都通用的。必须注意的是byteC#中是无符号的。

注意:bytesbyt只有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的代码块中。

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

3. 操作符的优先级别

基本操作符

见上表

一元操作符

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

乘和除

* / %(取余数)

加和减

+ -

移位

<< >>

关系

< > <= >= is as

相等

== !=

位操作

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

布尔

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

赋值

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

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

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

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

?:=不能重载。

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

0 0

相关博文

我的热门文章

img
取 消
img