List <T>類表示可以通過索引訪問的對象的強類型列表。
它是List類的一個可變對象。 它類似于數(shù)組,因為它可以通過索引訪問,但是,與數(shù)組不同,可以調(diào)整列表大小。 因此,您不需要在聲明過程中指定大小。
列表是使用new關鍵字并調(diào)用列表的構造函數(shù)創(chuàng)建。下面的例子說明了這一點 -
(* Creating a List *) open System.Collections.Generic let booksList = new List<string>() booksList.Add("Gone with the Wind") booksList.Add("Atlas Shrugged") booksList.Add("Fountainhead") booksList.Add("Thornbirds") booksList.Add("Rebecca") booksList.Add("Narnia") booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
當你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
0: Gone with the Wind 1: Atlas Shrugged 2: Fountainhead 3: Thornbirds 4: Rebecca 5: Narnia
列表(T)類表示可以通過索引訪問的對象的強類型列表。它提供的方法來搜索,排序和操作的列表。
下表提供的屬性,構造函數(shù)和列表(T)類的方法
屬性 | 描述 |
---|---|
Capacity | 獲取或設置內(nèi)部數(shù)據(jù)結構可以保持不調(diào)整元件的總數(shù)量。 |
Count | 獲取包含在列表(T)的元素的數(shù)量。 |
Item | 獲取或設置元素指定索引處。 |
構造函數(shù) | 描述 |
---|---|
List(T)() | 初始化列表(T)類為空并且具有默認初始容量的新實例。 |
List(T)(IEnumerable(T)) | 初始化包含從指定集合復制的元素,并具有足夠的容量來容納復制的元素的數(shù)量的列表(T)的類的新實例。 |
List(T)(Int32) | 初始化列表(T)類為空并且具有指定的初始容量的新實例。 |
方法 | 描述 |
---|---|
Add | 將對象添加到列表(T)的結束。 |
AddRange | 將指定集合中的元素的列表(T)的結束。 |
AsReadOnly | 返回當前集合的只讀IList的(T)包裝。 |
BinarySearch(T) | 對于搜索使用默認的比較的元素,整個排序列表(T),并返回該元素的從零開始的索引。 |
BinarySearch(T, IComparer(T)) | 搜索使用指定的比較的元素,整個排序列表(T),并返回該元素的從零開始的索引。 |
BinarySearch(Int32, Int32, T, IComparer(T)) | 搜索范圍在使用指定的比較的元素排序列表(T)的元素,并返回該元素的從零開始的索引。 |
Clear | 從列表中刪除(T)的所有元素。 |
Contains | 確定一個元素是否是列表(T)。 |
ConvertAll(TOutput) | 在當前列表(T)為另一種類型的元素轉(zhuǎn)換,并返回包含轉(zhuǎn)換元素的列表。 |
CopyTo(T[]) | 將整個列表(T)到兼容的一維數(shù)組,從目標數(shù)組的開頭。 |
CopyTo(T[], Int32) | 將整個列表(T)到兼容的一維數(shù)組,從目標數(shù)組的指定索引處。 |
CopyTo(Int32, T[], Int32, Int32) | 復制一定范圍內(nèi)從List(T)的元素到兼容的一維數(shù)組,從目標數(shù)組的指定索引處的。 |
Equals(Object) | 確定指定的對象是否等于當前對象。 (從Object繼承。) |
Exists | 判定列表(T)是否包含匹配指定的謂詞所定義的條件的元素。 |
Finalize | 允許一個對象嘗試釋放資源并之前它是由垃圾收集(從Object繼承)回收執(zhí)行其他清理操作。 |
Find | 搜索匹配由指定謂詞所定義的條件,并返回整個列表(T)中第一次出現(xiàn)的元件。 |
FindAll | 檢索所有匹配指定的謂詞所定義的條件的元素。 |
FindIndex(Predicate(T)) | 搜索匹配由指定謂詞定義的條件,并返回整個List(T)中第一次出現(xiàn)的從零開始的索引的元素。 |
FindIndex(Int32, Predicate(T)) | 搜索匹配由指定謂詞所定義的條件,并在列表(T)的元素的范圍內(nèi)返回第一個出現(xiàn)的從零開始的索引,從指定索引到最后一個元素延伸的元素。 |
FindIndex(Int32, Int32, Predicate(T)) | 搜索匹配由指定謂詞所定義的條件,并在列表(T)的元素范圍內(nèi)返回第一個出現(xiàn)的從零開始的索引啟動指定索引處,并包含指定元素數(shù)量的元素。 |
FindLast | 搜索匹配由指定謂詞所定義的條件,并返回整個列表(T)內(nèi)的最后出現(xiàn)的元件。 |
FindLastIndex(Predicate(T)) | 搜索匹配由指定謂詞定義的條件,并返回整個List(T)內(nèi)的最后一個匹配的從零開始的索引的元素。 |
FindLastIndex(Int32, Predicate(T)) | 搜索匹配由指定謂詞所定義的條件,并在列表(T)的元素的范圍內(nèi)返回最后出現(xiàn)的從零開始的索引,從第一個元素到指定索引擴展的元素。 |
FindLastIndex(Int32, Int32, Predicate(T)) | 搜索匹配由指定謂詞所定義的條件,并在列表(T)的元素范圍內(nèi)返回最后出現(xiàn)的從零開始的索引,它包含的元素指定數(shù)量的指定索引結束的元素。 |
ForEach | 執(zhí)行列表(T)的每個元素上指定的操作。 |
GetEnumerator | 返回的枚舉列表(T)進行迭代。 |
GetHashCode | 作為默認哈希函數(shù)。 (從Object繼承。) |
GetRange | 創(chuàng)建一個范圍在源列表(T)的元素的淺表副本。 |
GetType | 獲取當前實例的類型。 (從Object繼承。) |
IndexOf(T) | 搜索指定的對象,并返回整個List(T)中第一次出現(xiàn)的從零開始的索引。 |
IndexOf(T, Int32) | 搜索指定的對象,并返回從指定索引到最后一個元素擴展了名單(T)的元素范圍內(nèi)第一次出現(xiàn)的從零開始的索引。 |
IndexOf(T, Int32, Int32) | 搜索指定的對象,并返回啟動指定索引處和包含的元素指定數(shù)量的列表(T)的元素范圍內(nèi)第一次出現(xiàn)的從零開始的索引。 |
Insert | 插入一個元素指定索引處的列表(T)。 |
InsertRange | 插入集合的指定索引處的元素融入到列表(T)。 |
LastIndexOf(T) | 搜索指定的對象,并返回整個List(T)內(nèi)的最后一個匹配的從零開始的索引。 |
LastIndexOf(T, Int32) | 搜索指定的對象,并返回,從第一個元素到指定索引擴展了名單(T)的元素范圍內(nèi)最后一次出現(xiàn)的從零開始的索引。 |
LastIndexOf(T, Int32, Int32) | 搜索指定的對象,并返回一個包含元素的指定數(shù)量的指定索引處結束的名單(T)的元素范圍內(nèi)最后一次出現(xiàn)的從零開始的索引。 |
MemberwiseClone | 創(chuàng)建當前Object的淺表副本。 (從Object繼承。) |
Remove | 從列表中刪除(T)特定對象的第一次出現(xiàn)。 |
RemoveAll | 刪除所有匹配指定的謂詞所定義的條件的元素。 |
RemoveAt | 刪除列表(T)的指定索引處的元素。 |
RemoveRange | 刪除一個范圍從List(T)的元素。 |
Reverse() | 反轉(zhuǎn)在整個列表(T)中的元素的順序。 |
Reverse(Int32, Int32) | 反轉(zhuǎn)指定范圍中的元素的順序。 |
Sort() | 在排序使用默認的比較整個List(T)的元素。 |
Sort(Comparison(T)) | 用指定的系統(tǒng),在整個列表(T)的元素。比較(T)。 |
Sort(IComparer(T)) | 用指定的比較器在整個List(T)的元素。 |
Sort(Int32, Int32, IComparer(T)) | 在排序范圍列表中使用指定的比較單元(T)的元素。 |
ToArray | 復制名單(T)的一個新的數(shù)組中的元素。 |
ToString | 返回表示當前對象的字符串。 (從Object繼承。) |
TrimExcess | 設置的能力的列表(T)的元件的實際數(shù)量,如果該數(shù)量小于一個閾值。 |
TrueForAll | 確定列表(T)的每個元素是否在指定的謂詞所定義的條件相匹配。 |
(* Creating a List *) open System.Collections.Generic let booksList = new List<string>() booksList.Add("Gone with the Wind") booksList.Add("Atlas Shrugged") booksList.Add("Fountainhead") booksList.Add("Thornbirds") booksList.Add("Rebecca") booksList.Add("Narnia") printfn"Total %d books" booksList.Count booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index]) booksList.Insert(2, "Roots") printfn("after inserting at index 2") printfn"Total %d books" booksList.Count booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index]) booksList.RemoveAt(3) printfn("after removing from index 3") printfn"Total %d books" booksList.Count booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
當你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
Total 6 books 0: Gone with the Wind 1: Atlas Shrugged 2: Fountainhead 3: Thornbirds 4: Rebecca 5: Narnia after inserting at index 2 Total 7 books 0: Gone with the Wind 1: Atlas Shrugged 2: Roots 3: Fountainhead 4: Thornbirds 5: Rebecca 6: Narnia after removing from index 3 Total 6 books 0: Gone with the Wind 1: Atlas Shrugged 2: Roots 3: Thornbirds 4: Rebecca 5: Narnia
更多建議: