public static void Main() { using (var reader = new StreamReader(StudentsListPath, Encoding.UTF8)) { var line = reader.ReadLine(); while (line != null) { var tokens = line .Split(new[] { ' ', '|' }, StringSplitOptions.RemoveEmptyEntries) .ToArray(); var firstName = tokens[0]; var lastName = tokens[1]; var courseName = tokens[2]; var student = new Student(firstName, lastName); StudentDb.AddValueToKey(courseName, student); line = reader.ReadLine(); } foreach (var keyValue in StudentDb) { Console.WriteLine($"{keyValue.Key}: {string.Join(", ", keyValue.Value)}"); } } }