List如同Array一樣,可以建立許多陣列元素,但是卻比Array來的靈活.

例如要建立一陣列元素,Array需要先宣告陣列長度,而List不需要.

Array->

int[] myArray = new int[5] ;

int[] myArray = { 1, 2, 3, 4, 5 };

 

List->

List<int> myLists = new List<int>();

另外List如同一張資料表,你可以對它編輯,如加入某一列或刪除某一列.

建構函式 說明
List<T>() 初始化 List<T> 類別的新執行個體,這個執行個體為空白且具有預設的初始容量。
List<T>(IEnumerable<T>) 初始化 List<T> 類別的新執行個體,其包含從指定之集合複製的項目,且具有容納複製之項目數目的足夠容量。
List<T>(Int32) 為具有指定初始容量且為空的 List<T> 類別,初始化新的執行個體。
屬性 說明
Capacity 在不需要調整大小之下,取得或設定內部資料結構可以保存的項目總數。
Count 取得 List<T> 中所包含的項目數。
Item[Int32] 在指定的索引位置上取得或設定項目。
方法 說明
Add 將物件加入至 List<T> 的末端。
AddRange 將特定集合的項目加入至 List<T> 的結尾。
BinarySearch 使用預設的比較子並傳回項目以零為起始的索引,來搜尋項目之整個排序的 List<T>。
Clear 將所有項目從 List<T> 移除。
Contains 判斷某項目是否在 List<T> 中。
Equals(Object) 判斷指定的物件是否等於目前的物件。
Find 擷取符合指定之述詞所定義的條件之所有項目。
Foreach 在 List<T> 的每一個項目上執行指定之動作。
IndexOf(T) 搜尋指定的物件,並傳回整個 List<T> 中第一個出現之以零為起始的索引。
Insert(Int32, T) 將項目插入至 List<T> 中指定的索引位置。
InsertRange(Int32, IEnumerable<T>) 將集合的項目插入位於指定索引的 List<T> 中。
Remove(T) 從 List<T> 移除特定物件之第一個符合的元素。
RemoveAt(Int32) 移除 List<T> 中指定之索引處的項目。
RemoveRange(Int32, Int32) 從 List<T> 移除的項目範圍。
Sort 使用預設的比較子來排序在整個 List<T> 中的項目。
TrimExcess 將容量設為 List<T> 中項目的實際數目,如果該數目小於臨界值。
TrueForAll 判斷 List<T> 中的每一個項目是否符合指定之述詞所定義的條件。

 

private void list_type1() 
        {
            List<string> myLists = new List<string>();

            myLists.Add("A001");
            myLists.Add("A002");
            myLists.Add("A003");
            Console.WriteLine("->Display myList");
            Console.WriteLine(myLists[0]);
            Console.WriteLine(myLists[1]);
            Console.WriteLine(myLists[2]);

            Console.WriteLine("->Use foreach in");

            foreach (var showlist in myLists) 
            {
                Console.WriteLine(showlist);
            }

            //Remove 移除某一列
            Console.WriteLine("->Remove A002");
            myLists.Remove("A002"); //or myLists.RemoveAt(1);
            foreach (var showlist in myLists)
            {
                Console.WriteLine(showlist);
            }

            //Remove 新增某一列
            Console.WriteLine("->Insert A004");
            myLists.Insert(1,"A004"); //or myLists.RemoveAt(1);
            foreach (var showlist in myLists)
            {
                Console.WriteLine(showlist);
            }

        }

 

        private void lise_type3()
        {
            List<List<string>> myLists = new List<List<string>>();
            myLists.Add(new List<string>() { "A001", "David" });
            myLists.Add(new List<string>() { "A002", "John" });
            myLists.Add(new List<string>() { "A003", "Tom" });
            foreach (var showlist in myLists)
            {
                Console.WriteLine(showlist[0] + " -> " + showlist[1]); //column[0] & column[1]
            }
        }

 

        private class myList
        {
            public string ID{ get; set; }
            public string Name{ get; set; }
            public string Level { get; set; }

        }

        private void lise_type4()
        {
            List<myList> myLists = new List<myList>();
            myLists.Add(new myList { ID = "A001",Name="David",Level="A" });
            myLists.Add(new myList { ID = "A002", Name = "John", Level = "B" });
            myLists.Add(new myList { ID = "A003", Name = "Tom", Level = "A" });
            foreach (var showlist in myLists)
            {
                Console.WriteLine(showlist.ID + "->" + showlist.Name +"->"+ showlist.Level); //column[0] & column[1]
            }

        }

arrow
arrow
    全站熱搜

    門外漢 發表在 痞客邦 留言(1) 人氣()