只有累積,沒有奇蹟

2018年9月22日 星期六

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

前言
此文章紀錄如何移除 Array 陣列中指定的元素!
想要移除 Array 陣列中某項特定的元素,但發現因 Array 類別中,沒有類似 Remove 的方法可使用  QAQ
如下圖所示:
Array
查了一下Array 成員,發現公用方法中並沒有 Remove 方法,但在.NET Framework 2.0 中 Array 類別有實做 IListICollection 和 IEnumerable 泛型介面

使用 LINQ
  1. int[] myNumbers = { 1, 30, 26, 53, 97, };
  2. int myRemoveNum = 53;
  3. myNumbers = myNumbers.Where(val => val != myRemoveNum).ToArray();
.NET Framework 3.5
namespace:System.Linq
透過 Enumerable.Where<TSource>方法,找出輸入資料符合條件的項目。

不使用 LINQ
  1. int[] myNumbers = { 1, 30, 26, 53, 97, };
  2. int myRemoveNum = 53;
  3. myNumbers = Array.FindAll(myNumbers, val => val != myRemoveNum).ToArray();
.NET Framework 2.0
透過 Array.FindAll 泛型方法取得符合條件的所有元素。

以上情況都是假設元素是不重複的情況下使用,但如果陣列中有可能元素重複的話
可以透過 Array.IndexOf 方法找到第一個符合項目的資料,詳細可以參考 這裡

參考

Related Posts:

  • [C#] 如何取得二維陣列最大與最小值 廢話 在論壇看到有人提出此問題,怕之後忘記,做個筆記記錄一下 一維陣列 首先來看,一維陣列取最大值與最小值的方式 int[] myIntArray = new int[5] { 1, 5, 9, 11, 18 }; myIntArray.Max(); // 最大值 myIntArray.Min(); // 最小值 這很簡單,相信大家都比我還要熟悉 二維陣列   &nb… Read More
  • [C#] 刪除 Array 陣列中指定的元素 前言 此文章紀錄如何移除 Array 陣列中指定的元素! 想要移除 Array 陣列中某項特定的元素,但發現因 Array 類別中,沒有類似 Remove 的方法可使用  QAQ 如下圖所示: 查了一下Array 成員,發現公用方法中並沒有 Remove 方法,但在.NET Framework 2.0 中 Array 類別有實做 IList、ICollection 和 IEnumerable&… Read More
  • [C#] Array陣列中加入元素 前言 此篇文章是要記錄 如何在Array陣列中加入元素 ( 之前是 如何移除 Array 陣列中指定的元素 ) 查了一下MSDN Array 陣列成員 不提供add的方法加入新的元素 但仔細看了一下成員中的方法,可以發現有個公用方法 Array.Resize 方法說明:將陣列的大小變更為指定之新大小 雖然沒有add方法,但也可以用 array.resize… Read More

0 意見:

張貼留言

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

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com