Мне нужно сгрупировать коллекцию по нескольким свойствам, я делаю так:
logs.GroupBy(a => a.A).Select(b => new {
Key = b.Key, Items = b.ToList().GroupBy(c => c.B).Select(d => new {
Key = d.Key, Items = d.ToList().GroupBy(e => e.C).Select(i => new {
Key = i.Key, Items = i.ToList().GroupBy(h => h.D).Select(r => new {
Key = r.Key, Items = r.ToList()
}).ToList()}).ToList()}).ToList()}).ToList();
и мне кажется что так не очень хорошо делать, есть другие варианты? Дальше мне нужно получить список списков которые в самом конце групирования т.е. r.ToList() как ето сделать?
Параметр D, E, F и т.д.- на ваше усмотрение )
var list = new[]
{
new {A = 1, B = 1, C = 1, Value = "v1"},
new {A = 1, B = 2, C = 5, Value = "v2"},
new {A = 2, B = 2, C = 1, Value = "v3"},
new {A = 2, B = 2, C = 1, Value = "v4"},
new {A = 2, B = 1, C = 1, Value = "v5"},
new {A = 2, B = 5, C = 1, Value = "v6"},
new {A = 2, B = 2, C = 4, Value = "v7"},
new {A = 3, B = 3, C = 1, Value = "v8"},
new {A = 3, B = 3, C = 1, Value = "v9"},
new {A = 3, B = 1, C = 1, Value = "v10"},
new {A = 3, B = 1, C = 1, Value = "v11"},
new {A = 4, B = 2, C = 1, Value = "v12"},
new {A = 4, B = 2, C = 1, Value = "v13"},
new {A = 4, B = 1, C = 1, Value = "v14"},
}
.GroupBy(it => new {a = it.A, b = it.B, c = it.C})
.Select(gr => new
{
key = $"A{gr.Key.a}-B{gr.Key.b}-C{gr.Key.c}",
items = gr.ToList()
})
.ToList();
Виртуальный выделенный сервер (VDS) становится отличным выбором
я пишу простенькую игру на Unity и работаю в 2d измерении, но я хотел бы реализовать переход между 2d и 3d: Игрок в 2d режиме входит в портал и резко...
Всех привествую, появился вопросНе могу при нажатии кнопки Clear не стираются позиции чексбоксов и текстовых полей
Некоторое время назад написал программу для печати на самоклеящихся этикетках для Zebra-образных принтеров