private static void ParsePhoneBook(string filename) { using (var sr = new StreamReader(filename)) { string line; char[] delim = { ' ' }; do { line = sr.ReadLine(); string[] parameters = line.Split('|'); string[] names = parameters[0].Split(delim, StringSplitOptions.RemoveEmptyEntries); Person person = new Person(); for (int i = 0; i < names.Length; i++) { switch (i) { case 0: person.FirstName = names[i]; break; case 1: person.MiddleName = names[i]; break; case 2: person.LastName = names[i]; break; case 3: person.NickName = names[i]; break; default: break; } } PhoneRecord phoneRecord = new PhoneRecord(person, parameters[1].Trim(), parameters[2].Trim()); phoneRecordsByNames.Add(person, phoneRecord); } while (!sr.EndOfStream); } }
public PhoneRecord(Person person, string town, string phoneNumber) { this.Person = person; this.Town = town; this.PhoneNumber = phoneNumber; }