日期:2014-05-19  浏览次数:20763 次

刚才看了一下泛型,感觉就是限制集合类型的?我理解的对吗?
一直用1.1开发,前一阵子因为做个图象处理软件(winform的),开始使用2.0(VS2005),但一直没有接触到泛型,刚才有点时间就拿 "C#高级编程 "看了一下泛型那一章,觉得他们讲的泛型就是限制集合类型的,请问我理解的正确吗?
刚看了几页,大家不要笑话我


------解决方案--------------------
什么叫限制??
和集合比較:
1.它具有更高的性能(沒有了boxing and unboxing)
2.類型安全的!


------解决方案--------------------
泛型集合是泛型最重要的用途之一
但其它的还有很多很多~
------解决方案--------------------
觉得他们讲的泛型就是限制集合类型的

========

如果这样好理解的话,LZ 应该理解是:一个泛型集合实例是限制在特定类型集合元素上的集合

比如,实例化一个 整型列表

IList <int> int32List = new List <int> ();
int32List.Add(119); // ok, 可存入 int
int32List.Add(911); // ok
int32List.Add( "911 "); // error, 无法存入字符串
int32List.Add(911.119); // error

这样就提供了编译时的安全类型检查,

对比下,如果使用 ArrayList 上面代码会时什么效果呢?试试看

还有更多知识点了,本身泛型比较难以理解,用多了就有体会了
------解决方案--------------------
讲的泛型就是限制集合类型的
--------------------------------
只是他举的例子主要是将泛型的,泛型还有许多好处。

MSDN这样说:
使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。
泛型最常见的用途是创建集合类。
.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。应尽可能地使用这些类来代替普通的类,如 System.Collections 命名空间中的 ArrayList。

您可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
可以对泛型类进行约束以访问特定数据类型的方法。



------解决方案--------------------
mark