を返す関数を取得し、Collection<string>それ自体を再帰的に呼び出して、最終的に大きな 1 つを返しますCollection<string>。
さて、リストをマージするための最良のアプローチは何だろうか? Collection.CopyTo()string[] にコピーするだけで、foreach()ループを使用すると効率が悪いように感じます。ただし、重複も除外したいので、. を呼び出す foreach になってしまう気がしContains()ますCollection。
重複のない文字列のリストを返す再帰関数を使用するより効率的な方法はありますか? を使用する必要はありませんCollection。ほぼすべての適切なデータ型にすることができます。
除外のみ、私は Visual Studio 2005 と .net 3.0 にバインドされているため、LINQ はありません。
編集:明確にするために:関数はユーザーをActive Directoryから取り出し、ユーザーの直属の部下を調べてから、すべてのユーザーの直属の部下を再帰的に調べます。したがって、最終結果は、特定のユーザーの「コマンドチェーン」にあるすべてのユーザーのリストです。これは頻繁に実行され、現時点では一部のユーザーで20秒かかるため、改善する方法を探しています. 24時間の結果をキャッシュすることも私のリストにありますが、キャッシュを適用する前にそれを改善する方法を知りたいです。