Jean101
Member
- Joined
- Feb 8, 2020
- Messages
- 10
- Programming Experience
- 1-3
I want to be able to have multiple (student.degrees) it can be the same values, and for (student.name) to be different key at all time. My issue is whenever I tried adding another student.degree with the same degree name it throw errors.
C#:
private void AddStudent()
{
Console.Clear();
//Setting UI color
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("Add Student: ");
Console.WriteLine("============");
Console.WriteLine("============");
Console.ForegroundColor = ConsoleColor.Gray;
Student myStudent = new Student();
myStudent.name = Validation.ValidateString("\nPlease enter student name: ");
_school.Add(myStudent.name, new List<Student>());
myStudent.degree = Validation.ValidateString("Please enter student degree: ");
_school.Add(myStudent.degree, new List<Student>());
_school[myStudent.name].Add(myStudent);
//_school[myStudent.degree].Add(myStudent);
//if (_school == null)
//{
// _school = new Dictionary<string, List<Student>>();
//}
Console.WriteLine($"New student created {myStudent.name} {myStudent.degree}");
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
_myMenu.Display();
Selection();
}
private void ShowAllStudents()
{
Console.Clear();
//Setting UI color
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("Show All Students: ");
Console.WriteLine("==================");
Console.WriteLine("==================");
Console.ForegroundColor = ConsoleColor.Gray;
int counter = 0;
Console.WriteLine($"{" "} {"Name", -15} {"Degree", -10} {"Grades", -15} {""}");
foreach (KeyValuePair<string, List<Student>> kvp in _school)
{
//Console.WriteLine($"{kvp.Key}");
foreach (Student student in kvp.Value)
{
counter++;
Console.WriteLine($"{counter}. {student.name, -15} {student.degree, -10}");
}
}