2012-11-04 77 views
0

在C#4.0中,如果element + k的位置是n的倍數,是否有辦法將double []的每個元素提取到另一個數組中?也就是說,如果k3n4,我想從陣列a1與第3,第7,第11位......(所以在C#因爲數組在0開始創建數組a2,這將是a1[2]a1[6]a1[10] ...等)如何檢索每個X位置的數組元素?

我感興趣的是在C#中以最快的方式實現這一點,我知道如何使用for循環來實現這一點。

+1

這是我肯定會使用'for'循環的東西。我不確定這個練習的重點是什麼,但我確定沒有內置任何東西可以做到這一點。 –

+4

爲什麼你會希望*有什麼比使用循環更快?這不是這是一個特別常見的操作... –

+0

你可以使用Where LINQ方法。 – Ondra

回答

1

我不認爲有比使用for循環更快的方法。反正它可能會使用在IEnumerableWhereLinq操作成爲可能:

double[] doubleArray = {10.0,3.0,5.0,6.0}; 
IEnumerable<double> = doubleList.Where((number,index) => number + index % n == 0); 

我不知道我已經明白要滿足的條件。無論如何,用所需的方法替換匿名方法主體。

+0

爲什麼你明確要做ToList()? – LightStriker

+0

@LightStriker:謝謝......我不知道數組已經實現了IEnumerable。 – Heisenbug

+1

我想他的意思是'(index - k)%n == 0' – pascalhein

相關問題