Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->编程语言 ->ASP ->正文

<<展现C#>>第四章 C#类型(rainbow 翻译)(来自重粒子空间)

来源:Linuxdby.com 作者:Webmaster 时间:2007-04-23 点击: [收藏] [投稿]
<<展现C#>>第四章 C#类型(rainbow 翻译)

  


正文:

第四章  C#类型

    既然你知道了怎样创建一个简单的C#程序,我将会给你介绍C#的类型系统。在这一章中,你学到如何使用不同的值和引用类型,加框和消框机制能为你作些什么。尽管这一章的不侧重于例子,但你可以学到很多重要的信息,关于如何创建现成类型的程序。
4.1 值类型
    各种值类型总是含有相应该类型的一个值。C#迫使你初始化变量才能使用它们进行计算-变量没有初始化不会出问题,因为当你企图使用它们时,编译器会告诉你。     每当把一个值赋给一个值类型时,该值实际上被拷贝了。相比,对于引用类型,仅是引用被拷贝了,而实际的值仍然保留在相同的内存位置,但现在有两个对象指向了它(引用它)。C#的值类型可以归类如下:
ⷧ핧𑻥𞋯𜈓imple types )
ⷧ𛓦𞄧𑻥𞋯𜈳truct types)
ⷦ𞚤𘾧𑻥𞋯𜈅numeration types)
4.1.1  简单类型
    在C#中出现的简单类型共享一些特性。第一,它们都是.NET系统类型的别名。第二,由简单类型组成的常量表达式仅在编译时而不是运行时受检测。最后,简单类型可以按字面被初始化。以下为C#简单类型归类:
ⷦ𕴥𞋼BR>ⷥ𘃥𐔥𞋼BR>ⷠ字符型 (整型的一种特殊情况)
ⷦ𕮧⹥𞋼BR>ⷥ𐏦𕰥𞋼BR>
4.1.1.1  整型
    C#中有9个整型。 sbyte 、byte、 short、 ushort、 int、 uint、 long、 ulong 和 char(单独一节讨论)。它们具有以下特性:

ⷳbyte型为有符号8位整数,取值范围在128~127之间。     
ⷢytet型为无符号16位整数,取值范围在0~255之间。
ⷳhort型为有符号16位整数,取值范围在-32,768~32,767之间。
ⷵshort型为无符号16位整数,取值范围在0~65,535之间。
ⷩnt型为有符号32位整数,取值范围在-2,147,483,648~ 2,147,483,647之间。
ⷵint型为无符号32位整数,取值范围在  0 ~ 4,294,967,295之间。
ⷬong型为64位有符号整数,取值范围在9,223,372,036,854,775,808~ 9,223,372,036,854,775,807之间。
ⷵlong型为64位无符号整数,取值范围在0 ~ 18,446,744,073,709,551,615之间。

    VB和C程序员都可能会对int和long数据类型所代表的新范围感到惊讶。和其它的编程语言相比,在C#中,int不再取决于一个机器的字(word)的大小,而long被设成64位。

4.1.1.2  布尔型
    布尔数据类型有true和false两个布尔值。可以赋于true或false值给一个布尔变量,或可以赋于一个表达式,其所求出的值等于两者之一:
bool bTest = (80 > 90);
         与C和C++相比,在C#中,true值不再为任何非零值。不要为了增加方便而把其它整型转换成布尔型。

4.1.1.3  字符型
    字符型为一个单Unicode 字符。一个Unicode字符16位长,它可以用来表示世界上多种语言。可以按以下方法给一个字符变量赋值:
char chSomeChar = 'A';
     除此之外,可以通过十六进制转义符(前缀\x)或Unicode表示法给变量赋值(前缀\u):
char chSomeChar = '\x0065';
char chSomeChar = '\u0065';
    不存在把char转换成其它数据类型的隐式转换。这就意味着,在C#中把一个字符变量当作另外的整数数据类型看待是行不通的——这是C程序员必须改变习惯的另一个方面。但是,可以运用显式转换:
char chSomeChar = (char)65;
int nSomeInt = (int)'A';
      在C中仍然存在着转义符(字符含义)。要换换脑筋,请看表4.1。

Table 4.1 转义符( Escape Sequences)

转义符                  字符名
\'                            单引号
\"                           双引号
\\                           反斜杠
\0                        空字符
\a                        感叹号(Alert  )
\b                        退格
\f                        换页
\n                       新行
\r                        回车

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:datalist分页(cj168.DataAccess.MagsDB中的2个方法)   下一篇:datalist分页(codebehind部分)

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号