static Dictionary <string, List <Hova> > BeLefele(string fájlnév) { Dictionary <string, List <Hova> > élnyilvántartás = new Dictionary <string, List <Hova> >(); using (StreamReader f = new StreamReader(fájlnév)) { string sor; string tartalmazó; while (!f.EndOfStream) { sor = f.ReadLine(); tartalmazó = Regex.Match(sor, @"^(.*) bags contain").Groups[1].ToString(); if (Regex.Match(sor, @"^.*? bags contain no other bags.$").Success) { élnyilvántartás.Add(tartalmazó, new List <Hova> { }); } else { Hova él; foreach (Match tartalmazott in Regex.Matches(sor, @"(\d) (\w+ \w+) bag")) { él = new Hova(tartalmazott.Groups[2].ToString(), int.Parse(tartalmazott.Groups[1].ToString())); if (élnyilvántartás.ContainsKey(tartalmazó)) { élnyilvántartás[tartalmazó].Add(él); } else { élnyilvántartás.Add(tartalmazó, new List <Hova> { él }); } } } } } return(élnyilvántartás); }
static Dictionary <string, List <Hova> > BeFelfele(string fájlnév) { Dictionary <string, List <Hova> > élnyilvántartás = new Dictionary <string, List <Hova> >(); using (StreamReader f = new StreamReader(fájlnév)) { string sor; string tartalmazó; string honnan; Hova él; while (!f.EndOfStream) { sor = f.ReadLine(); tartalmazó = Regex.Match(sor, @"^(.*) bags contain").Groups[1].ToString(); foreach (Match tartalmazott in Regex.Matches(sor, @"(\d) (\w+ \w+) bag")) { honnan = tartalmazott.Groups[2].ToString(); él = new Hova(tartalmazó, int.Parse(tartalmazott.Groups[1].ToString())); if (!élnyilvántartás.ContainsKey(él.hova)) { élnyilvántartás.Add(él.hova, new List <Hova> { }); } if (élnyilvántartás.ContainsKey(honnan)) { élnyilvántartás[honnan].Add(él); } else { élnyilvántartás.Add(honnan, new List <Hova> { él }); } } } } return(élnyilvántartás); }