[英]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>()
將SearchResultCollection
為IEnumerable<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.