在 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中文網其他相關文章!