如何转换System.IObservable<string>
至System.IObservable<System.Collections.Generic.List<string>>
?
public static IObservable<List<string>> GetUrlList(Uri url) {
var result = (from request in Observable.Return(GetWebRequest(url, false))
from response in Observable.FromAsyncPattern<WebResponse>(
request.BeginGetResponse, request.EndGetResponse)()
from item in GetUrlCollection(response).ToObservable()
select item);
return result;
}
这里项目的类型是“字符串列表”。我需要将其转换为 IObservable List of strings
。我怎样才能实现这个目标?
最佳答案
试试这个:
public static IObservable<List<string>> GetUrlList(Uri url)
{
var result = (
from request in Observable.Return(
GetWebRequest(url, false))
from response in Observable.FromAsyncPattern<WebResponse>(
request.BeginGetResponse, request.EndGetResponse)()
from item in GetUrlCollection(response)
.ToObservable()
.ToArray()
select item
.ToList());
return result;
}
我对整个方法唯一关心的是您的 GetUrlCollection(response)
返回一个可枚举的值。您确实应该对此进行编码以返回可观察的。
关于linq - System.IObservable<字符串> 到 System.IObservable<System.Collections.Generic.List<字符串>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11536847/