3

次のコードを検討してください。

var results = searcher.FindAll();

SearchResult[] srList = new SearchResult[results.Count];
results.CopyTo(srList, 0);

where をsearcher.FindAll()返しますSystem.DirectoryServices.SearchResultCollection

CopyTo後で使用できる列挙型にそれらを取得するためにを使用する必要がありParallel.ForEachますか? もしそうなら、なぜですか?

私は持っていますが、ポップアップusing System.Linqする方法はありません。ToList

皆さんありがとう!

4

2 に答える 2

9

Cast<T>()を にキャストしSearchResultCollectionたりIEnumerable<T>ToArray<T>()配列を作成したりするために使用できます。

SearchResult[] results = searcher.FindAll().Cast<SearchResult>().ToArray();

System.Linq 名前空間が含まれていることを確認してください。

using System.Linq;
于 2013-02-28T18:17:21.080 に答える
3

拡張メソッドを使用してCast<T>、非ジェネリックIEnumerableからIEnumerable<SearchResult>:に移行できます。

var results = searcher.FindAll().Cast<SearchResult>();
于 2013-02-28T18:25:43.020 に答える