| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    学好外语能够获得更多的国外先进编程技术  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> Web开发 >> 网络编程 >> C# >> CSharpDoc >> 文章正文
C# 中的类型转换            【字体:
C# 中的类型转换
作者:不详    文章来源:网络    点击数:    更新时间:2007-1-20

作者:佚名 文章来源:不详 点击数: 更新时间:2006-6-15

C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,在学习中整理了一份在这里与大家分享,很适用哦!

其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之 间的转换、字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期型数据的一些转换处理。
1. 装箱、拆箱还是别名


许多 C# 的书上都有介绍 int -> Int32 是一个装箱的过程,反之则是拆箱的过程。许多其它变量类型也是如此,如:short <-> Int16,long <-> Int64 等。对于一般的程序员来说,大可不必去了解这一过程,因为这些装箱和拆箱的动作都是可以自动完成的,不需要写代码进行干预。但是我们需要记住这些类型之间的关系,所以,我们使用“别名”来记忆它们之间的关系。

C# 是全面向对象的语言,比 Java 的面向对象都还彻底——它把简单数据类型通过默认的装箱动作封装成了类。Int32、Int16、Int64 等就是相应的类名,而那些我们熟悉的、简单易记的名称,如 int、short、long 等,我们就可以把它称作是 Int32、Int16、Int64 等类型的别名。

那么除了这三种类型之外,还有哪些类有“别名”呢?常用的有如下一些:

bool -> System.Boolean (布尔型,其值为 true 或者 false)

char -> System.Char (字符型,占有两个字节,表示 1 个 Unicode 字符)

byte -> System.Byte (字节型,占 1 字节,表示 8 位正整数,范围 0 ~ 255)

sbyte -> System.SByte (带符号字节型,占 1 字节,表示 8 位整数,范围 -128 ~ 127)

ushort -> System.UInt16 (无符号短整型,占 2 字节,表示 16 位正整数,范围 0 ~ 65,535)

uint -> System.UInt32 (无符号整型,占 4 字节,表示 32 位正整数,范围 0 ~ 4,294,967,295)

ulong -> System.UInt64 (无符号长整型,占 8 字节,表示 64 位正整数,范围 0 ~ 大约 10 的 20 次方)

short -> System.Int16 (短整型,占 2 字节,表示 16 位整数,范围 -32,768 ~ 32,767)

int -> System.Int32 (整型,占 4 字节,表示 32 位整数,范围 -2,147,483,648 到 2,147,483,647)

long -> System.Int64 (长整型,占 8 字节,表示 64 位整数,范围大约 -(10 的 19) 次方 到 10 的 19 次方)

float -> System.Single (单精度浮点型,占 4 个字节)

double -> System.Double (双精度浮点型,占 8 个字节)


我们可以用下列代码做一个实验:


private void TestAlias() {

// this.textBox1 是一个文本框,类型为 System.Windows.Forms.TextBox

// 设计中已经将其 Multiline 属性设置为 true

byte a = 1; char b = 'a'; short c = 1;

int d = 2; long e = 3; uint f = 4; bool g = true;

this.textBox1.Text = "";

this.textBox1.AppendText("byte -> " + a.GetType().FullName + "\n");

this.textBox1.AppendText("char -> " + b.GetType().FullName + "\n");

this.textBox1.AppendText("short -> " + c.GetType().FullName + "\n");

this.textBox1.AppendText("int -> " + d.GetType().FullName + "\n");

this.textBox1.AppendText("long -> " + e.GetType().FullName + "\n");

this.textBox1.AppendText("uint -> " + f.GetType().FullName + "\n");

this.textBox1.AppendText("bool -> " + g.GetType().FullName + "\n");

[1] [2] [3] [4] [5] [6] [7] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • C# 3.0语言详解之基本的语言…

  • C# 2.0与泛型

  • C# 2.0中泛型编程初级入门教…

  • 关于C#的问答

  • C#中结构与类的区别

  • C#和VB.net语法对比图

  • C#的四个基本技巧

  • C#基础—关于类

  • 漫谈C#编程中的多态与new关键…

  • C# Namespace

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |