Diskuze: c# kolekce pokračování
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, tak pokračujme tam kde jsme včera skončili:
class Data
{
public DateTime ValidTo { get; }
public string Content { get; }
public int Number { get; }
}
// Seskupení dat podle data validity -> Převedení na Dictionary<DateTime, List<Data>>
data.GroupBy(x => x.ValidTo).ToDictionary(x => x.Key, x => x.OrderBy(y=>y.Content).ThenBy(y => y.Number).ToList());
// OrderBy -> Seřadí podle property Content, poté podle property Number
Ahoj, i když to vypadá dobře, tak to bohužel neřeší můj problém. Jak to bylo první, tak mám nyní vytvořený slovník, kde klíčem je datum a value je list objektů. Nyní procházím slovník pomocí foreach a potřebuji nad každým záznamem udělat něco podobného jako řazení pomocí datu, ale kde klíč bude integer od 1 do třeba 100, podle toho jak to rozdělí právě díky těm dalším parametrů. Ty další parametry jsou: Opakování, Přeshraniční, Rodina, Akutní. Jedná se totiž o věc do zdravotnictví. A já potřebuji, aby byl schopen projít ten list objektů, podívat se ny tyto parametry a dát je k sobě podle počtu stejných parametrů, takže potom pod indexem 1 bude list objektů, kde jsou třeba všechny 4 parametry stejné, ale pod indexem 2 již list objektů, kde jsou jen 2 stejné parametry. A to nevím jak správně vyřešit.
Tak snad takhle:
d.GroupBy(x => x.ValidTo).ToDictionary(x => x.Key,
x => x.GroupBy(y=>new { y.Content, y.Number /* další vlastnosti*/ })
.Select(y=>y.ToList()).ToList());
Zobrazeno 5 zpráv z 5.