如何通過引用將數組傳遞給擴展方法。通過引用來傳遞數組擴展方法
這是我所嘗試過的,但沒有工作。
public static void RemoveAtIndex(ref this int[] arr, int index)
如何通過引用將數組傳遞給擴展方法。通過引用來傳遞數組擴展方法
這是我所嘗試過的,但沒有工作。
public static void RemoveAtIndex(ref this int[] arr, int index)
您不能通過ref發送擴展的目標對象。 你是否需要它? 由擴展方法將數組替換爲新數組嗎?
Linq用於返回數據,不用於更改數據。用一個不同的方法,你可以用代替這個完整的數組,而不是改變數組。
首先添加這個小擴展方法:
public static class Extensions
{
public static IEnumerable<T> SkipAt<T>(this IEnumerable<T> source, int index)
{
return source.Where((it, i) => i != index);
}
}
然後,你可以做到這一點「Linq的方式」:
var a = new[] {1,2,3};
a = a.SkipAt(1).ToArray();
Linq!==擴展方法 – WickyNilliams
是的,我需要它和陣列是由新 –
如此替換你不能使用擴展方法來實現這個目標 –
有沒有其他方法....? –