c# 集合List<L> <>中的内容有什么意义

申明ArrayList不需要用这种方式 而list为什么就需要?有什么含义?
如果集合都需要像数组那样定义类型 那为什么不同类型的元素又可以在一个集合内?

这是dotNet 2.0引进的新技术,泛型。
它的优点楼主可以在网上搜,我就不多说了。
我主要说说它的用法
如:
List<string> slist=new List<string>();
这样子slist.Add(); 方法只能ADD string类型的对象;
同样在获取slist里的对象时,直接就能取出string类型了
如 string tem=slist[1];
这样就免去了像
object o=slist[1];
string tem=null;
if(o is string)tem=(string)o;
这样繁锁的代码。
当然我们也可以定义自己的泛型
像我们要自己写一个链表,我们的节点可以这样写
public class Node<T>{
public T content;
public Node<T> next;
}
用这样的节点我们就可是构建一个单向的链表,
链表的代码就不打了,呵呵
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-20
List<T>是泛型,指定T的类型是为了更好的限制,如果你用List<object>,那么就和ArrayList一样了.

不同类型元素可以在一个集合是因为,.net所有的类和类型都是派生自object类.
第2个回答  2009-08-20
ArrayList同样也可以声明成泛型呀。

ArrayList<Student>比如里面放的是用户类
那么取值的时候就不需要强行转换了。
这个也是面向对象的 思想。

如果ArrayList这样写,去对象的值的时候 需要在上面写上

<Student>ArrayList arlist=........
第3个回答  2009-08-20
这是为了限制List集合里的数据类型
比如: List<int> 这样声明一个变量后
只能向List中添加int型变量
第4个回答  2009-08-20
这是泛行 为了限制住集合的类型 不会超出设定好的类型 在装箱拆箱的时候有很大用处