我想将相同长度的两个列表的项目连接为匿名类型,第一个列表对象的类型为“对象”,第二个列表对象的类型为枚举值。

其内容示例:





运行时,“列表”没有项目。

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


我已经用一个谓词尝试了Join()的第二次重载,但是由于对象和枚举之间几乎没有什么可比较的,所以我无法实现它。

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

最佳答案

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

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

10-08 06:52