[筆記] 刪除 Array 陣列中指定的元素
前言
此文章紀錄如何移除 Array 陣列中指定的元素!
想要移除 Array 陣列中某項特定的元素,但發現因 Array 類別中,沒有類似 Remove 的方法可使用 XD
如下圖所示:
查了一下Array 成員,發現公用方法中並沒有 Remove 方法,但在.NET Framework 2.0 中 Array 類別有實做 IList、ICollection 和 IEnumerable 泛型介面
使用 LINQ
int[] myNumbers = { 1, 30, 26, 53, 97, };
int myRemoveNum = 53;
myNumbers = myNumbers.Where(val => val != myRemoveNum).ToArray();
.NET Framework 3.5
namespace:System.Linq
透過 Enumerable.Where<TSource>方法,找出輸入資料符合條件的項目。
不使用 LINQ
int[] myNumbers = { 1, 30, 26, 53, 97, };
int myRemoveNum = 53;
myNumbers = Array.FindAll(myNumbers, val => val != myRemoveNum).ToArray();
.NET Framework 2.0
透過 Array.FindAll 泛型方法取得符合條件的所有元素。
以上情況都是假設元素是不重複的情況下使用,但如果陣列中有可能元素重複的話
可以透過 Array.IndexOf 方法找到第一個符合項目的資料,詳細可以參考 這裡。
參考