我爱Aspx >> Asp.Net >> C# 泛型简介.NET 中的泛型使您可以重用代码以及在实现它时付出的努力。类型和内部数据可以在不导致代码膨胀的情况下更改,而不管您使用的是值类型还是引用类型。您可以一次性地开发、测试和部署代码,通过任何类型(包括将来的类型)来重用它,并且全部具有编译器支持和类型安全。因为一般代码不会强行对值类型进行装箱和取消装箱,或者对引用类型进行向下强制类型转换,所以性能得到显著提高。对于值类型,性能通常会提高 200%;对于引用类型,在访问该类型时,可以预期性能最多提高 100%(当然,整个应用程序的性能可能会提高,也可能不会提高)。本文随附的源代码包含一个微型基准应用程序,它在紧密循环中执行堆栈。该应用程序使您可以在基于 Object 的堆栈和一般堆栈上试验值类型和引用类型,以及更改循环迭代的次数以查看泛型对性能产生的影响。
返回页首
因为 IL 和 CLR 为泛型提供本机支持,所以大多数符合 CLR 的语言都可以利用一般类型。例如,下面这段 Visual Basic .NET 代码使用代码块 2 的一般堆栈:
Dim stack As Stack(Of Integer) stack = new Stack(Of Integer) stack.Push(3) Dim number As Integer number = stack.Pop()
您可以在类和结构中使用泛型。以下是一个有用的一般点结构:
public struct Point { public T X; public T Y; }
可以使用该一般点来表示整数坐标,例如:
Point point; point.X = 1; point.Y = 2;
或者,可以使用它来表示要求浮点精度的图表坐标:
Point point; point.X = 1.2; point.Y = 3.4;
Ҷƪл˵?
《Effective C#》 翻译札记[05-20]
C#实现WEB服务器[05-20]
C#中时间差的计算[05-20]
C#四种Eval测试结果:不要用Code..[05-20]
通常C#面试题[05-20]
用C#与XML创建动态分层菜单[05-20]
C#数值结果表(格式化字符串)[05-20]
用浏览器来接收C# 的程序返回的时..[05-20]
使用C# 编写扩展存储过程[05-20]
C#正则表达式应用范例[05-20]
《Effective C#》 翻译札记[05-20]
Visual Studio 2005 新功能、新特..[05-20]
对mssql出现选定的用户拥有对象而..[05-20]
常用正则表达式[05-20]
将 Web 项目从 VS2002/2003 转换..[05-20]
Visual Studio 术语表[K-Z][05-20]
使用 Visual Studio 2005 Team S..[05-20]
常用CHM帮助文档集锦下载[2007-0..[05-20]
常用.NET工具下载(包括.NET可再发..[05-20]
怎么样察看经过编译过的代码exe或..[05-20]