您现在的位置:网络学院 > 开发教室 > 跟我学.net
总体了解C#(9 类型一致)

出处:PConline
责任编辑:zwg

[02-5-25 17:32] 作者:荣耀翻译/ASPCool.com


总体了解C#(9 类型一致)

A Comparative Overview of C#中文版

作者:Ben Albahari
公司:Genamics
日期:2000年7月31日初版,2000年8月10日修订。
感谢以下人士支持和反馈(按字母先后顺序):Don Box、 C.R. Manning、 Joe Nalewabau、 John Osborn、 Thomas Rhode & Daryl Richter。
译者:荣耀

9.类型一致

大多数语言都有基本类型(int、long等等)。高级类型最终是由基本类型构成的。能以同样的方式处理基本类型和高级类型通常来说是有用处的。例如,如果集合可以象包容sting那样包容int是有用的。为此,Smalltalk通过牺牲些许效率象处理string或Form一样来处理int和long。Java试图避免这个效率损失,它象C和C++那样处理基本类型,但又为每一个基本类型提供了相应的包装类—int包装为Integer,double包装为Double。C++模板参数可接受任何类型,只要该类型提供了模板定义的操作的实现。

【译注:在Java中,你可以这么写:

int i = 1;

double d = 1.1;

Integer iObj = new Integer(1);

Double dObj = new Double(1.1);


以下写法是错误的:

int I = new int(1);

Integer iObj = 1;




C#对该问题提供了一个不同的解决方案。在上一节里,我介绍了C#中的结构,指出基本类型不过是结构的一个别名而已。既然结构拥有所有对象类型拥有的方法,那代码就可以这么写:

int i = 5;

System.Console.WriteLine (i.ToString());


如果我们想象使用一个对象那样使用一个结构,C#将为你装箱该结构为对象,当你再次需要使用结构时,可以通过拆箱实现:

Stack stack = new Stack ();

stack.Push (i); // 装箱

int j = (int) stack.Pop(); //拆箱

[下一页]


相关文章:

浅析C#中的套接字编程
Visual C#.Net网络程序开发-Tcp篇(2)
总体了解C#(目录)
总体了解C#(1 C#和Java)
总体了解C#(2 属性)
用设计模式固化你的C#程序(目录)
总体了解C#(3 索引器)
Visual C#.Net网络程序开发-Tcp篇(3)
总体了解C#(4 委托)
总体了解C#(5 事件)


内容搜索 
高级搜索

本栏今日焦点