класс демо:Динамический декартовой Продукт
class item
{
public string name { get; set; }
public int level { get; set; }
}
данные демо:
List<item> all = new List<item>();
all.Add(new item { name = "Red", level = 0 });
all.Add(new item { name = "Blue", level = 0 });
all.Add(new item { name = "S", level = 1 });
all.Add(new item { name = "M", level = 1 });
all.Add(new item { name = "L", level = 1 });
all.Add(new item { name = "Man", level = 2 });
all.Add(new item { name = "Woman", level = 2 });
мне нужна группа по уровне и объединить все имя, Это декартова продукта вопрос. В результате, как это:
красный - S - Человек
красный - S - Женщина
Красный - М - Человек
Красный - M - Женщина
Красный - L - Человек
Красный - L - Женщина
Blue - S - Человек
Синий - S - Женщина
Blue - M - Man
Blue - M - Женщина
Blu е - L - Man
Blue - L - Женщина
Если уровень был установлен, решение с сильфоном кодом:
foreach(var _0 in all.Where(m => m.level == 0))
{
foreach(var _1 in all.Where(m => m.level == 1))
{
foreach(var _2 in all.Where(m => m.level == 2))
{
Console.WriteLine(_0.name + "-" + _1.name + "-" + _2.name);
}
}
}
Но большой вопрос: уровень динамичен, я просто кодированием, как это :
for(int i = 0; i < level; i++)
{
//some code ...
}
Поскольку мой реальный проект Javascript, поэтому, пожалуйста, дайте мне простой код (не LINQ), спасибо очень много, чтобы помочь.
Пожалуйста, отметьте ваши вопросы на этом языке, не включайте его в заголовок. –