C# .Net List<T>中Remove()、RemoveAt()、RemoveRange()、RemoveAll()的區別,List<T>刪除匯總
阿新 • • 發佈:2017-07-11
contains ret 一個 成功 con sde edi ont div
在List<T>中刪除主要有Remove()、RemoveAt()、RemoveRange()、RemoveAll()這幾個方法。下面一一介紹使用方法和註意點。
我們以List<string>舉例
var strList = new List<string> { "aa", "ba", "cc", "dd", "ee", "ff" };
一、Remove()刪除List中匹配到的第一個項,參數為List<T>中的T,返回類型為bool,成功刪除返回True,失敗或者沒有找到返回False。例如:
var rt = strList.Remove("aa");
二、RemoveAt()刪除指定索引的一項。參數為int ,表示索引。返回類型為void。例如:
strList.RemoveAt(0);
三、RemoveRange()刪除指定索引段的項,第一個參數為刪除的起始索引,第二個參數為刪除的個數。範圍類型為void。例如:
strList.RemoveRange(0, 2);
四、RemoveAll()刪除所有匹配到的項,參數是一個Predicate<T> 委托,用於定義要刪除的元素應滿足的條件。返回類型為int型,表示刪除的個數。例如:
//拉姆達表達式 var rt = strList.RemoveAll(j=>j.Contains("a")); //自定義條件 private static bool IsDel(string str) { return str.Contains("a"); } var rt = strList.RemoveAll(IsDel);
C# .Net List<T>中Remove()、RemoveAt()、RemoveRange()、RemoveAll()的區別,List<T>刪除匯總