我有一组用于抓取的 url,我想并行下载资源,同时返回一组强类型结果。
有一个WebClient.DownloadString()
和一个“ MyTypedResult Process(string s)
”
我如何将其包装起来以进行string[] urls => IEnumerable<MyTypedResult>
转换?
string[] urls = {"url1","url2","url3"};
List<MyTypedResult> ResultCollection = new List<MyTypedResult>();
foreach (var u in urls)
{
WebClient wc = new WebClient();
var content = wc.DownloadString(u);
MyTypedResult r = Process(content);
ResultCollection.Add(r);
}
我希望 Web 请求并行运行,但我需要一个 List 中的结果集合;