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

一周学会 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 转换操作符时才 可以重载。

?: 和 = 不能 重载。

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

Published At
Categories with Web编程
Tagged with
comments powered by Disqus