您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp.net >> 正文

Visual C# 2005抢先预览

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-1-30 我要参与讨论

 
  注意:本文是在产品发行前编写的,因此无法保证内文细节与实际产品完全相符。本文的信息仅代表文件出版时产品的情况,只可作为计划时参考。文件中信息如有变更恕不另行通知。
 
  简介

  Microsoft Visual Studio 的下一版 (代号为 Whidbey) 明显增强了 C# 的功能,包括创新的语言结构、新编译器功能、大幅提升了开发人员的生产力、加强调试功能等等。在程序语言创新功能方面,C# Whidbey 发行版本支持泛型(Generics)、iterator (迭代器)、部份类型,以及匿名方法。 Whidbey 的新编译器功能可让开发人员直接在代码中禁用编译器警告,或验证 ECMA/ISO 一致性。 Whidbey 也将具有数种生产力增强功能,包括重构 (refactoring)、 代码展开、代码格式化、增强 IntelliSense 等许多功能。调试功能也有加强,新功能包括增强的 datatips (信息快显)、调试的可视化工具、设计时的表达时式评估等等。 本文仅概括地介绍 Whidbey 中的新功能,我们将继续加入客户所需的新功能。

  语言创新功能

  泛型

  泛型是 Whidbey 中 C# 语言最主要的新功能之一。 C# 的泛型可允许类、结构、接口与方法,依其存储与处理的数据类型加以参数化。 泛型所以好用,因为许多常见类别与结构,可依其存储与处理的数据类型加以参数化。这些称为“泛型类声明”和“泛型结构声明”。同样地,许多 接口定义合约,可依其处理的数据类型加以参数化。这些称为“泛型接口声明”。方法也可依其类型加以参数化,以便实现“泛型算法”,这些称之为“泛型方法”。

  在下面的例子中,我们创建了一个 Stack 泛型类声明,其中指定了类型参数,叫做 ItemType,在声明之后的尖括弧中予以声明。 泛型 Stack 类实例不会强迫在对象之间来回转换,而是接受创建时的类型,并不加转换地存储该类型的数据。 ItemType 类型参数的作用有如占位符,直到使用时才指定实际 类型。请注意,ItemType 用于内部项目数组的元素类型、Push 方法的参数类型,以及 Pop 方法的返回类型:

public class Stack
{
 private ItemType[ ] items;
 public void Push(ItemType data) {...}
 public ItemType Pop() {...}
}
  如下列简短例子所示,使用 Stack 泛型类声明时,可指定泛型类所用的实际类型。 在此种情况下,我们通过在名称后的尖括号内 指定“类型形参”来要求 Stack 使用 int 类型:

Stack<int> stack = new Stack<int>();
stack.Push(3);
int x = stack.Pop();
  这样,我们便创建了一个新的“构造类型”Stack<int>,其中 Stack 声明内部的每个 ItemType 将被取代为提供的 int 类型形参。事实上,建立 Stack<int> 的新实例时,为了存储效率的考虑,项目数组的原本存储类型现在为 int[],而非 object[]。此外,当将 int 推压到堆栈时,不再需要对它进行转换。甚至,从堆栈取出项目时,不再需要明确地将它转换为适当的类型,因为 Stack 这个特别的类在其数据结构中,将 int 以其

[1] [2] 下一页

在google里搜索更多Visual C# 2005抢先预览

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明