我正在使用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});
感谢您的帮助,
答案 0 :(得分:2)
您在错误的位置指定索引。 SelectMany
之后你需要它。例如:
var products = strings.SelectMany(x => suffixex,
(x, y) => x + y)
.Select((id, index) => new Product { Position = index,
ID = id });