请教关于泛类型

snow0831 2009-07-30 05:02:01
何时需要考虑到使用泛类型?泛类型应用有哪些好处?返回泛类型数组应该如何接收?
...全文
481 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-07-30
  • 打赏
  • 举报
回复
泛型的基本优点在于好用,数组长度是动态的;安全,指定了T的类型;减少了开销,避免了以前ArrayList或Hashtable中将object类和具体类之间相互转换所带来的开销。
泛型提供了一种很好的复制手段,且提高了扩展性
泛型会产生更高的代码重用,更好的性能,强类型检查和易读的代码
参考
slund 2009-07-30
  • 打赏
  • 举报
回复
泛型提供了类,结构,接口和方法的模板,泛型也可以看做是占位符,定义泛型时的具体类型是未知的。
KingWolfOfSky 2009-07-30
  • 打赏
  • 举报
回复
Thinking in C#?
123_321_1234567 2009-07-30
  • 打赏
  • 举报
回复
“看的我头晕”->“看得我头晕”,小白了一把。
123_321_1234567 2009-07-30
  • 打赏
  • 举报
回复
楼上,你的图标好牛X啊,看的我头晕。
dzpzds 2009-07-30
  • 打赏
  • 举报
回复
楼上够强悍
我现在只发现一点 泛型要比数组好用多了
阿非 2009-07-30
  • 打赏
  • 举报
回复
泛型(C# 编程指南)

泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能。泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。例如,通过使用泛型类型参数 T,您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的成本或风险,如下所示:

C# 复制代码
// Declare the generic class
public class GenericList<T>
{
void Add(T input) { }
}
class TestGenericList
{
private class ExampleClass { }
static void Main()
{
// Declare a list of type int
GenericList<int> list1 = new GenericList<int>();

// Declare a list of type string
GenericList<string> list2 = new GenericList<string>();

// Declare a list of type ExampleClass
GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
}
}
泛型概述
使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。

泛型最常见的用途是创建集合类。

.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。应尽可能地使用这些类来代替普通的类,如 System.Collections 命名空间中的 ArrayList。

您可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。

可以对泛型类进行约束以访问特定数据类型的方法。

关于泛型数据类型中使用的类型的信息可在运行时通过反射获取。

相关章节
更多信息:

泛型介绍(C# 编程指南)

泛型的优点(C# 编程指南)

泛型类型参数(C# 编程指南)

类型参数的约束(C# 编程指南)

泛型类(C# 编程指南)

泛型接口(C# 编程指南)

泛型方法(C# 编程指南)

泛型委托(C# 编程指南)

泛型代码中的默认关键字(C# 编程指南)

C++ 模板和 C# 泛型之间的区别(C# 编程指南)

泛型和反射(C# 编程指南)

运行库中的泛型(C# 编程指南)

.NET Framework 类库中的泛型(C# 编程指南)

“泛型”示例 (C#)

C# 语言规范
有关更多信息,请参见 C# 语言规范中的以下各章节:

20 泛型

请参见
参考
数据类型(C# 编程指南)
<typeparam>(C# 编程指南)
<typeparamref>(C# 编程指南)
System.Collections.Generic

概念
C# 编程指南
LQknife 2009-07-30
  • 打赏
  • 举报
回复
功力不够就别强求了
snow0831 2009-07-30
  • 打赏
  • 举报
回复
网页连不上.............
十八道胡同 2009-07-30
  • 打赏
  • 举报
回复
msdn是最好的资料

110,579

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧