Exemplo n.º 1
0
        private static void DoDue()
        {
            Provincia[] provincie = new Provincia[]
            {
                new Provincia("Napoli", "NA", new Comune[] { new Comune("Napoli"), new Comune("Casoria"), new Comune("Arzano") }),
                new Provincia("Roma", "RM", new Comune[] { new Comune("Pomezia"), new Comune("Ardea"), new Comune("Torvaianica") }),
                new Provincia("Romoli", "RN", new Comune[] { new Comune("Pomezia"), new Comune("Casoria"), new Comune("Torvaianica"), new Comune("Arzano") })
            };

            provincie
            .Where(c => c.Descrizione.StartsWith("Ro"))
            .Select(d => d.Descrizione + " (" + d.Sigla + ")")
            .ToList()
            .ForEach(c => Console.WriteLine(c));

            foreach (Provincia provincia in provincie.OrderBy(c => c.Descrizione))
            {
                Console.WriteLine($"{provincia.Descrizione} ({provincia.Sigla})");
                foreach (Comune comune in provincia.Comuni.OrderBy(c => c.Descrizione))
                {
                    Console.WriteLine($"\t{comune.Descrizione}");
                }
            }
            provincie.SelectMany(c => c.Comuni).Distinct().OrderBy(c => c.Descrizione).ToList().ForEach(comune => Console.WriteLine(comune.Descrizione));
            //provincie.SelectMany(c => c.Comuni).Distinct(new Comune()).OrderBy(c => c.Descrizione).ToList().ForEach(comune => Console.WriteLine(comune.Descrizione));
        }