新聞中心
建站服務器
所屬命名空間:System.Collections.Generic
publicclassList
泛型的好處: 它為使用c#語言編寫面向對象程序增加了極大的效力和靈活性。不會強行對值類型進行裝箱和拆箱,或對引用類型進行向下強制類型轉換,所以性能得到提高。
性能注意事項:
用微軟的話講:
“添加到 ArrayList 中的任何引用或值類型都將隱式地向上強制轉換為 Object。如果項是值類型,則必須在將其添加到列表中時進行裝箱操作,在檢索時進行取消裝箱操作。強制轉換以及裝箱和取消裝箱操作都會降低性能;在必須對大型集合進行循環(huán)訪問的情況下,裝箱和取消裝箱的影響非常明顯?!?/p>
1、 List的基礎、常用方法:
聲明:
2、 List
以一個集合作為參數(shù)創(chuàng)建List
string[] temArr = { Ha, Hunter, Tom, Lily, Jay, Jim, Kuku, Locu};
List
添加元素:
string[] temArr = { Ha,Hunter, Tom, Lily, Jay, Jim, Kuku, Locu};
mList.AddRange(temArr);
遍歷List中元素:
{
Console.WriteLine(element);
}
{
Console.WriteLine(s);
}
刪除元素:
1、 List.Remove(T item)刪除一個值
2、List.RemoveAt(intindex);刪除下標為index的元素
mList.RemoveRange(3, 2);
判斷某個元素是否在該List中:
獲得List中元素數(shù)目:
Console.WriteLine(The num of elements in the list: +count);
2、 List的進階、強大方法:
舉例用的List:
string[] temArr = { Ha,Hunter, Tom, Lily, Jay, Jim, Kuku, Locu};
mList.AddRange(temArr);
List.Find 方法:搜索與指定謂詞所定義的條件相匹配的元素,并返回整個 List 中的第一個匹配元素。
publicT Find(Predicate
Predicate是對方法的委托,如果傳遞給它的對象與委托中定義的條件匹配,則該方法返回 true。當前 List 的元素被逐個傳遞給Predicate委托,并在 List 中向前移動,從第一個元素開始,到最后一個元素結束。當找到匹配項時處理即停止。
Predicate可以委托給一個函數(shù)或者一個拉姆達表達式
{
if(name.Length > 3)
{
returntrue;
}
returnfalse;
}
List.FindLast 方法:搜索與指定謂詞所定義的條件相匹配的元素,并返回整個 List 中的最后一個匹配元素。
publicT FindLast(Predicate
用法與List.Find相同。
List.TrueForAll方法:確定是否 List中的每個元素都與指定的謂詞所定義的條件相匹配。
publicboolTrueForAll(Predicate
boolflag = mList.TrueForAll(name =>
{
if(name.Length > 3)
{
returntrue;
}
else
{
returnfalse;
}
}
);
List.FindAll方法:檢索與指定謂詞所定義的條件相匹配的所有元素。
publicList
foreach(strings insubList)
{
Console.WriteLine(element in subList: +s);
}
這時subList存儲的就是所有長度大于3的元素
List.Take(n): 獲得前n行 返回值為IEnumetable
foreach(strings intakeList)
{
Console.WriteLine(element in takeList: + s);
}
這時takeList存放的元素就是mList中的前5個
List.Where方法:檢索與指定謂詞所定義的條件相匹配的所有元素。跟List.FindAll方法類似。
IEnumerable
{
if(name.Length > 3)
{
returntrue;
}
else
{
returnfalse;
}
});
foreach(strings insubList)
{
Console.WriteLine(element in subList: +s);
}
這時subList存儲的就是所有長度大于3的元素
List.RemoveAll方法:移除與指定的謂詞所定義的條件相匹配的所有元素。
publicintRemoveAll(Predicate
mList.RemoveAll(name =>
{
if(name.Length > 3)
{
returntrue;
}
else
{
returnfalse;
}
});
foreach(strings inmList)
{
Console.WriteLine(element in mList: + s);
}
這時mList存儲的就是移除長度大于3之后的元素。
新聞名稱:C#List<T>用法詳解
當前鏈接:http://www.dlmjj.cn/article/cpgsoc.html