泛型List<T>与非泛型ArrayList
ArrayList集合的用处越来越窄了,List应运而生,下来一起来看看吧:
static void Main(string[] args) { // 非泛型集合的不安全性 ArrayList array = new ArrayList(); array.Add(1); array.Add("string"); array.Add(false); array.AddRange(array); foreach (object obj in array) { Console.WriteLine(obj); } }
ArrayList的不安全性一目了然,类型不安全,必将导致各种攻击的产生,
static void Main(string[] args) { // List<int> List<int> list = new List<int>(); list.Add(1); list.Add(2); foreach (var item in list) { Console.WriteLine(item); } }
相比不安全的ArrayList来说,List<>的类型安全性使得我们定义起来更方便。
同时:微软还退出了List<T>: 如下:
static void Main(string[] args) { var test = new MethodOverloads(); test.Foo(123); test.Foo("abcd"); test.Foo(false); } public class MethodOverloads { public void Foo<T>(T obj) { Console.WriteLine("Foo<T>(T obj), obj type: {0}", obj.GetType().Name); } }
如此一来,我们应该通过这三个小例子来了解真正的List<>有多强大,而且强烈建议使用List<> 而不再使用ArrayList,其中执行效率的差距是很大的。
其中:List<> 继承自using System.Collections.Generic; 千万不要把强大的 List<T> 作为基类看待呀...