C#中Array与ArrayList与泛型数组 list<>的区别
2014-06-07 23:50
801 查看
C#中经常用到的集合类Array与ArrayList是许多刚接触C#语言的人比较困惑的。这两个对象是比较有用的,而且是在很多地方适用的。这里我把自己对Array与ArrayList对象的区别总结一下,与大家分享。
主要区别:
一、Array的用法与数组几乎一样,可以看做是数组。在定义的时候需要指定长度;ArrayList的用法与普通集合一样,定义的时候不需要指定长度;当然,Array是抽象类,不能直接实例化,但是继承自它的子类可以实例化。
如:ArrayClass[] animalArray = new ArrayArrayClass[2]; //ArrayClass为继承自Array的类;
ArrayList animalArrayList = new ArrayList();
二、Array对象在获得元素个数时通过数组的获得方式(Length属性):animalArray.Length;ArrayList对象在获得元素个数时通过集合的获得方式(Count属性):animalArrayList.Count;
三、为Array对象赋值时,通过下标的访问方式:animalArray[1] = new Chicken("鸡鸡一");Array对象通过集合添加的方式赋值:animalArrayList.Add(new Chicken("鸡鸡二"));
概念:泛型类和泛型方法同时具备可重用性、类型安全和效率。 使用:集合和在集合上运行的方法中。
泛型数组的调用:
方法:
private List<int>GetData()
{
List<int> mylist=new List<int>();
mylist.Add(1);
mylist.Add(2);
return mylist;
}
调用:
List<int> mylist=GetData();
for(int i=0;i<mylist.Count;i++)
{
label1.text=label2.text+mylist[i].ToString();
}
主要区别:
一、Array的用法与数组几乎一样,可以看做是数组。在定义的时候需要指定长度;ArrayList的用法与普通集合一样,定义的时候不需要指定长度;当然,Array是抽象类,不能直接实例化,但是继承自它的子类可以实例化。
如:ArrayClass[] animalArray = new ArrayArrayClass[2]; //ArrayClass为继承自Array的类;
ArrayList animalArrayList = new ArrayList();
二、Array对象在获得元素个数时通过数组的获得方式(Length属性):animalArray.Length;ArrayList对象在获得元素个数时通过集合的获得方式(Count属性):animalArrayList.Count;
三、为Array对象赋值时,通过下标的访问方式:animalArray[1] = new Chicken("鸡鸡一");Array对象通过集合添加的方式赋值:animalArrayList.Add(new Chicken("鸡鸡二"));
概念:泛型类和泛型方法同时具备可重用性、类型安全和效率。 使用:集合和在集合上运行的方法中。
泛型数组的调用:
方法:
private List<int>GetData()
{
List<int> mylist=new List<int>();
mylist.Add(1);
mylist.Add(2);
return mylist;
}
调用:
List<int> mylist=GetData();
for(int i=0;i<mylist.Count;i++)
{
label1.text=label2.text+mylist[i].ToString();
}
相关文章推荐
- C#中数组[],ArrayList,List<T>泛型的区别
- [C#]泛型与非泛型集合类的区别及使用例程,包括ArrayList,Hashtable,List<T>,Dictionary<Tkey,Tvalue>,SortedList<Tkey,Tvalue>,Queue<T>,Stack<T>等
- C# IEnumerable<T>、IEnumerator<T>、List<T>、ArrayList、[]数组各各的区别
- C# 数组集合 <一>基本概念(Array&ArrayList&List<T>&SortList&LinkList的实现Code)
- C# IEnumerable<T>、IEnumerator<T>、List<T>、ArrayList、[]数组各各的区别
- C# IEnumerable<T>、IEnumerator<T>、List<T>、ArrayList、[]数组各各的区别
- C# IEnumerable<T>、IEnumerator<T>、List<T>、ArrayList、[]数组各各的区别
- C#中的[],Array,List<>,ArrayList的区别
- [C#]泛型与非泛型集合类的区别及使用例程,包括ArrayList,Hashtable,List<T>,Dictionary<Tkey,Tvalue>,SortedList<Tkey,Tvalue>,
- C#中的数组、ArrayList、List<T>的区别
- C# 数组、ArrayList和List<T>的区别
- C# IEnumerable<T>、IEnumerator<T>、List<T>、ArrayList、[]数组各各的区别
- C# IEnumerable<T>、IEnumerator<T>、List<T>、ArrayList、[]数组各各的区别
- C#中string[]数组和list<string>泛型的相互转换
- c#初学-泛型ArrayList的使用和List<T>的比较
- C#中string[]数组和list<string>泛型的相互转换
- C#中string[]数组和list<string>泛型的相互转换 【转】
- C#中string[]数组和list<string>泛型的相互转换
- c# 数组(Array),ArrayList ,List 的区别与联系
- C#中string[]数组和list<string>泛型的相互转换