LINQ的Join操作产生零项

时间:2013-09-23 19:15:23

标签: c# linq join

我想将两个长度相同的列表连接到一个匿名类型,第一个列表对象是'object'类型,第二个列表对象是枚举值。

他们的内容示例:

enter image description here

enter image description here

运行时,'list'没有项目。

var enumerable = game.Items.Join(game.ItemsElementName, s => s, t => t,
    (item, itemName) => new { Item = item, ItemName = itemName });
var list = enumerable.ToList();

我用谓词尝试了Join()的第二次重载,但我无法实现它,因为在对象和枚举之间几乎没有什么可比较的。

如何将这两个列表的内容与Join合并?如果可能的话

1 个答案:

答案 0 :(得分:5)

我认为您要使用Zip,而不是Join

var enumerable = game.Items.Zip(game.ItemsElementName,
               (item, itemName) => new { Item = item, ItemName = itemName });