我得到一個函數返回Collection<string>
,並且遞歸調用它自己以最終返回一個大的Collection<string>
。合併兩個集合<T>
現在,我只是想知道什麼是合併列表的最佳方法? Collection.CopyTo()
只複製到字符串[],並且使用foreach()
循環感覺效率低下。但是,因爲我也想過濾掉重複的內容,所以我覺得我最終會在Collection
上以Contains()
作爲結果。
我想知道,是否有一個更有效的方法來有一個遞歸函數返回一個沒有重複的字符串列表?我不必使用Collection
,它幾乎可以是任何適合的數據類型。
只有排除,我綁定到Visual Studio 2005和.net 3.0,所以沒有LINQ。
編輯:澄清:函數將用戶帶出Active Directory,查看用戶的直接報告,然後遞歸查看每個用戶的直接報告。所以最終的結果是一個給定用戶的「命令鏈」中的所有用戶的列表。由於這是經常執行的,並且目前對於某些用戶需要20秒,所以我正在尋找改進它的方法。 24小時緩存結果也列在我的列表中,但我想在應用緩存之前查看如何改進它。
我認爲警告是Contains()函數,我需要檢查重複項,因爲每次都必須遍歷整個列表。但作爲裁判傳球可以減少開銷。 – 2008-09-11 09:29:28