首頁 >後端開發 >C++ >如何從C#數組中刪除元素?

如何從C#數組中刪除元素?

DDD
DDD原創
2025-01-25 02:02:08748瀏覽

How to Remove an Element from a C# Array?

從普通數組移除特定元素

在 C# 中使用陣列時,可能需要從集合中移除特定元素。對於普通數組,與 List 類別不同,沒有直接可用的 RemoveAt() 方法。這使得開發人員需要尋找替代方法來實現此功能。

解:

為了克服這個限制,可以先將普通數組轉換為 List,執行移除操作,然後將修改後的 List 轉換回數組,從而利用 List 的 RemoveAt() 方法。

<code class="language-c#">var foos = new List<foo>(array);
foos.RemoveAt(index);
return foos.ToArray();</code>

擴充方法替代方案:

或者,可以考慮使用模擬普通數組 RemoveAt() 功能的擴充方法:

<code class="language-c#">public static T[] RemoveAt<T>(this T[] source, int index)
{
    T[] dest = new T[source.Length - 1];
    if( index > 0 )
        Array.Copy(source, 0, dest, 0, index);

    if( index < source.Length -1 )
        Array.Copy(source, index + 1, dest, index, source.Length - index - 1);

    return dest;
}</code>

此擴充方法允許更方便地進行移除操作:

<code class="language-c#">Foo[] bar = GetFoos();
bar = bar.RemoveAt(2);</code>

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn