只需查看Rx加入扩展方法即可。我不能完全弄清楚如何使用它来创建关键连接(使用关系域而不是时域)?Rx加入密钥而非持续时间
var right = Observable.Range(4, 20);
var left = Observable.Range(0, 30).Where(n => n%2 == 0);
var e = from n1 in right
join n2 in left on ? equals ?
select new {n1, n2};
e.Subscribe(j => Console.WriteLine(" n1: {0}, n2: {1}", j.n1, j.n2));
所需的输出:
n1: 4, n2: 4
n2: 6, n2: 6
n3: 8, n2: 8
...
不知道是否加入可以采用这种方式......?
编辑
这工作,但它是要做到这一点(并发性,性能)的路吗?
var e = from n1 in right
from n2 in left
where n1 == n2
select new { n1, n2 };
谢谢你的帮助。我只是意识到我想在这个问题相同的事情:http://stackoverflow.com/questions/4911465/how-to-join-multiple-iobservable-sequences – lukebuehler 2012-01-16 18:52:58