C# .Net List 中Remove()、RemoveAt()、RemoveRange()、RemoveAll()的區別,List 刪除匯總


C# .Net List<T>中Remove()、RemoveAt()、RemoveRange()、RemoveAll()的區別,List<T>刪除匯總

在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);
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM