static void Main(string[] args) { Console.Write("Einlesen gestartet ... "); List <BabyNames> BabyNamesList = File.ReadAllLines("baby-names.csv") .Skip(1) .Select(v => BabyNames.FromCsv(v)) .ToList(); Console.WriteLine(" beendet!"); Console.WriteLine("{0} Datensätze gelesen.", BabyNamesList.Count); var query = from BabyNames baby in BabyNamesList orderby baby.percentage descending group baby by baby.girl; foreach (var group in query) { if (group.First().girl == true) { Console.WriteLine("Mädchennamen"); } else { Console.WriteLine("Jungennamen"); } foreach (BabyNames name in group.Take(5)) { Console.WriteLine(" {0,-10} ({1}) {2}", name.name, name.year, name.percentage); } } }
public static BabyNames FromCsv(string csvLine) { string[] values = csvLine.Split(','); BabyNames BabyNamesEntry = new BabyNames(); BabyNamesEntry.year = Convert.ToDecimal(values[0]); BabyNamesEntry.name = values[1]; BabyNamesEntry.percentage = decimal.Parse(values[2], NumberStyles.Float); if (values[3].Trim('"') == "boy") { BabyNamesEntry.girl = false; } else { BabyNamesEntry.girl = true; } return(BabyNamesEntry); }