Enumerable.Zip超过2个收藏?

时间:2016-01-06 16:46:13

标签: c# collections html-agility-pack enumerable

{{1}}

我有这个代码,它查看html标签并打印出网站上的产品名称和价格,并使用.Zip打印出来:

  1. 棒球 - £5.00
  2. 足球 - £10.00
  3. 玩具车 - £15.00
  4. 是否有一种简单的方法可以使用不同的方法将三个或更多变量添加到一起压缩?

    e.g。

    1. 棒球 - £5.00 - 1123
    2. 足球 - £10.00 - 1124
    3. 玩具车 - 15.00英镑 - 1125英镑
    4. 提前致谢!

2 个答案:

答案 0 :(得分:1)

我不认为你可以用.Zip(多个级别的zip?)轻松地做到这一点,但你可以动态地做到这一点:

var names = new[] { "Baseball", "Football", "Toy Car" };
var prices = new[] { 5.0M, 10.0M, 15.0M };
var ids = new[] { 1123, 1124, 1125 };
var products = names
    .Select((name, index) => new { Name = name, Price = prices[index], Id = ids[index] });

答案 1 :(得分:0)

没有

你可以链接Zip调用,或者你可以编写(或找到)扩展/辅助方法,它们可以像Zip一样并行地移动多个源,以提供你正在寻找的功能。

在您的特定情况下,请考虑迭代某些父节点并选择相对于父节点的各个子节点(假设特定项的所有节点都是单个“父节点”的子节点)。