只有累積,沒有奇蹟

2018年9月22日 星期六

[C#] 刪除 Array 陣列中指定的元素

前言
此文章紀錄如何移除 Array 陣列中指定的元素!
想要移除 Array 陣列中某項特定的元素,但發現因 Array 類別中,沒有類似 Remove 的方法可使用  QAQ
如下圖所示:
Array
查了一下Array 成員,發現公用方法中並沒有 Remove 方法,但在.NET Framework 2.0 中 Array 類別有實做 IListICollection 和 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 方法找到第一個符合項目的資料,詳細可以參考 這裡

參考

0 意見:

張貼留言

Copyright © m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com