問題很簡單 - 它接收數組作爲它的參數說,我得到了功能,C#陣列的問題(分)
void calc(double[] data)
怎麼辦「分裂」這個數據在兩個子陣列,並傳遞給子功能,這樣
calc_sub(data(0, length/2));
cals_sub(data(length /2, length /2));
我希望,你得到了主意 - 在C++中,我會寫這篇
void calc(double * data, int len)
{
calc_sub(data, len/2); //this one modifies data!!
calc_sub(data + len/2, len/2); //this one modifies data too!!
}
如何做同樣的在C#中不不必要的記憶複製? 我在這裏需要2個內存拷貝。 1)從數據到分割數據 2)calc_sub 3)從分割數據返回到數據!這是時間和內存的巨大浪費!
噸的代碼使用「那個」方法。複製作品總是,但沒有任何「更聰明」的解決方案? – 2010-07-25 10:19:12
我不會問這個,如果表現不會是一個問題。 – 2010-07-25 10:39:15
+1:過早優化 – surfasb 2011-12-06 05:05:34