Linq使用索引从一个选择很多查询

时间:2012-08-09 20:32:36

标签: linq

我正在使用SelectMany方法创建两个字符串列表中的项目组合。我能够创建平坦列表而没有任何问题,但无法弄清楚如何添加索引。在下面的示例中,我需要使用索引分配Product的Position属性。

var strings = new List<string> { "Milk", "Eggs", "Cheese" };
var suffixes = new List<string> {"-Direct", "-InDirect"};

var products = strings
               .SelectMany((_, index) => suffixes, 
                           (x, y) => new Product {Position = ?, ID = x + y});

感谢您的帮助,

1 个答案:

答案 0 :(得分:2)

您在错误的位置指定索引。 SelectMany之后你需要它。例如:

var products = strings.SelectMany(x => suffixex,
                                  (x, y) => x + y)
                      .Select((id, index) => new Product { Position = index,
                                                           ID = id });