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

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-25 02:22:09217瀏覽

How to Remove an Element from a Regular Array in C#?

從普通數組中移除元素

問:我需要從一個普通的對像數組中移除一個元素。具體來說,我想移除第二個元素。有沒有類似於列表的RemoveAt()方法的辦法可以做到這一點?

答1(使用列表):

如果您願意使用列表,您可以將數組轉換為列表,移除元素,然後將其轉換回數組。

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

答2(擴展方法):

作為使用列表的替代方法,您可以使用一個專門用於此任務的擴展方法。這是一個示例:

<code class="language-csharp">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-csharp">Foo[] bar = GetFoos();
bar = bar.RemoveAt(1); // 注意:数组索引从0开始,所以第二个元素的索引是1</code>

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

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