2013-08-07 72 views

回答

4

您不能通過ref發送擴展的目標對象。 你是否需要它? 由擴展方法將數組替換爲新數組嗎?

+0

是的,我需要它和陣列是由新 –

+3

如此替換你不能使用擴展方法來實現這個目標 –

+0

有沒有其他方法....? –

0

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(); 
+1

Linq!==擴展方法 – WickyNilliams