首頁 > 後端開發 > C++ > 如何在 C# 中刪除陣列中的元素?

如何在 C# 中刪除陣列中的元素?

Susan Sarandon
發布: 2025-01-20 20:36:15
原創
626 人瀏覽過

How Can I Delete Elements from an Array in C#?

從 C# 陣列中有效刪除元素

C# 陣列的大小本質上是固定的;你不能直接刪除元素。 然而,有幾種方法可以有效地模擬元素去除。 最佳方法取決於您的 .NET Framework 版本和特定需求。

利用 LINQ(適用於 .NET Framework 3.5 及更高版本):

LINQ 為陣列操作提供了優雅的解決方案。 若要刪除所有出現的特定值:

<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int valueToRemove = 4;
numbers = numbers.Where(num => num != valueToRemove).ToArray();</code>
登入後複製

只刪除 第一個 出現需要稍微不同的方法:

<code class="language-csharp">int indexToRemove = Array.IndexOf(numbers, valueToRemove);
numbers = numbers.Where((num, index) => index != indexToRemove).ToArray();</code>
登入後複製

非 LINQ 方法(適用於 .NET Framework 2.0 及更高版本):

對於較舊的 .NET 框架,傳統的陣列方法是必要的。 一種技巧使用自訂謂詞函數:

<code class="language-csharp">static bool isNotFour(int n) { return n != 4; }

int[] numbers = { 1, 3, 4, 9, 2, 4 };
numbers = Array.FindAll(numbers, isNotFour).ToArray();</code>
登入後複製

或者,將陣列轉換為 List<T>,刪除元素,然後轉換回來:

<code class="language-csharp">int[] numbers = { 1, 3, 4, 9, 2, 4 };
int valueToRemove = 4;
int indexToRemove = Array.IndexOf(numbers, valueToRemove);
List<int> tempList = new List<int>(numbers);
tempList.RemoveAt(indexToRemove);
numbers = tempList.ToArray();</code>
登入後複製

重要注意事項: 在嘗試刪除以防止異常之前,請務必使用 Array.IndexOf 驗證陣列中元素的存在。 使用 LINQ 通常會提供更簡潔和可讀的程式碼,但非 LINQ 方法提供與舊框架的兼容性。

以上是如何在 C# 中刪除陣列中的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板