join -结果大于输入集
本文关键字:输入 大于 结果 join | 更新日期: 2023-09-27 17:49:58
我有一个System.Linq.Enumerable.Join命令,像这样
var k = ... (List of size 50)
var r = ... (another List of size 20000)
var joined = k.Join(r,
x => x.joinId,
y => y.somecomplexmember.joinId,
(first, second) => new ResultInternal { k = first, r= second });
根据我的理解http://msdn.microsoft.com/de-de/library/bb534675(v=vs.110).aspx,这应该执行一个内部连接。结果应该小于或等于k或r长度的最小值,但是,"join"的大小大于50。
我理解错了吗?
谢谢!
如果您正在寻找内部连接并且仅匹配查询表达式中的id,则可以像简单的where子句一样执行它
var joined=(from x in k from y in r where x.x.joinId==y.somecomplexmember.joinId select new
ResultInternal { k = x, r= y});
查询表达式
内连接var joined=(from x in k
join y in r on x.x.joinId equals y.somecomplexmember.joinId
select new ResultInternal { k = x, r= y});