Имеем на входе коллекцию обьектов Foo, допустим в коллекции 2 елемента (может быть сколько угодно)
var foo1 = new Foo()
{
Name = "Q1", Values = new[] { "Q1_P1, Q1_P2" }
};
var foo2 = new Foo()
{
Name = "Q2", Values = new[] { "Q2_P1, Q2_P2, Q2_P3" }
};
На выходе надо получить 6 последовательностей.
Количество последовательностей на самом деле определяется произведением количества елементов Values в каждом елементе коллекции.
То есть в нашем случае 2*3=6.
Значения последовательностей:
1.
Q1, Q1_P1
Q2, Q2_P1
2
Q1, Q1_P1
Q2, Q2_P2
3
Q1, Q1_P1
Q2, Q2_P3
4
Q1, Q1_P2
Q2, Q2_P1
5
Q1, Q1_P2
Q2, Q2_P2
6
Q1, Q1_P2
Q2, Q2_P3
В принципе столбец можно оставить только один — Value, первый столбец (Name) не принципиален