簡體   English   中英

我是否必須使用CopyTo將自定義集合轉換為可枚舉的?

[英]Do I have to use CopyTo to get a custom collection into an enumerable?

請考慮以下代碼:

var results = searcher.FindAll();

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

其中searcher.FindAll()返回System.DirectoryServices.SearchResultCollection

我是否必須使用CopyTo將它們放入可枚舉的中,然后我可以在Parallel.ForEach使用它? 如果是這樣,為什么?

using System.Linq但沒有彈出ToList方法。

謝謝大家!

您可以使用Cast<T>()SearchResultCollectionIEnumerable<T> ,並使用ToArray<T>()來創建數組。

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

確保包含System.Linq命名空間:

using System.Linq;

您可以使用Cast<T>擴展方法從非通用IEnumerable轉到IEnumerable<SearchResult>

var results = searcher.FindAll().Cast<SearchResult>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM