所屬命名空間:System.Collections.Generichtml
List<T>類是 ArrayList 類的泛型等效類。該類使用大小可按需動態增長的數組實現 IList<T> 泛型接口。c#
泛型的好處: 它爲使用c#語言編寫面向對象程序增長了極大的效力和靈活性。不會強行對值類型進行裝箱和拆箱,或對引用類型進行,向下強制類型轉換,因此性能獲得提升。數組
性能注意事項: List[T]兩點優點安全
(1)在決定使用IList<T> 仍是使用ArrayList類(二者具備相似的功能)時,記住IList<T> 類在大多數狀況下執行得更好而且是類型安全的。性能
(2)若是對IList<T> 類的類型 T 使用引用類型,則兩個類的行爲是徹底相同的。可是,若是對類型 T 使用值類型,則須要考慮實現和裝箱問題。spa
添加到ArrayList 中的任何引用或值類型都將隱式地向上強制轉換爲Object。若是項是值類型,則必須在將其添加到列表中時進行裝箱操做,在檢索時進行取消裝箱操做。強制轉換以及裝箱和取消裝箱操做都會下降性能;在必須對大型集合進行循環訪問的狀況下,裝箱和取消裝箱的影響很是明顯。---微軟code
//T爲列表中元素類型 List<T> List = new List<T>(); //當T爲string時,舉例: string[] nameArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" }; List<string> list = new List<string>(nameArr);
//添加一個元素 list. Add("lucy"); //添加一組元素 string[] temArr = { "Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };
list.AddRange(temArr); //插入元素 list.Insert(1, "Hei");
foreach (string name in list) { Console.WriteLine(name); }
//刪除一個值 list.Remove("Hunter"); //刪除下標爲index的元素 list.RemoveAt(0); //從下標3開始,刪除2個元素 list.RemoveRange(3, 2);
//清空元素
list.Clear();
bool blog = list.Contains("Hunter");
//默認是元素第一個字母按升序 list.Sort(); //將List裏面元素順序反轉 list.Reverse();
//從第二個元素開始,反轉4個元素
//結果list裏最後的順序變成"Ha", "Jay", "Lily", "Tom", "Hunter", "Jim", "Kuku", "Locu"
list.Reverse(1,4);
http://www.cnblogs.com/lgx5/p/6271098.htmlhtm