using System.Collections.Generic;
public Student(int id, string firstName, string lastName)
return FirstName + " " + LastName;
public class StudentManager
private List<Student> students;
students = new List<Student>();
public void AddStudent(int id, string name)
string[] nameParts = name.Split(',');
if (nameParts.Length != 2)
Console.WriteLine("Invalid name format. Name must have a single comma.");
students.Add(new Student(id, nameParts[1].Trim(), nameParts[0].Trim()));
public void DisplayEncodedStudentIDs()
students.Sort((x, y) => y.StudentID.CompareTo(x.StudentID));
foreach (var student in students)
Console.WriteLine(student.StudentID);
public void DisplayNamesAlphabetically()
students.Sort((x, y) => (x.FirstName + x.LastName).CompareTo(y.FirstName + y.LastName));
foreach (var student in students)
Console.WriteLine(student.FirstName + " " + student.LastName);
public void DisplayStudentIDAndName()
for (int i = 0; i < students.Count; i++)
Console.WriteLine("{i + 1}: {students[i].StudentID} {students[i].GetName()}");
public static void Main()
StudentManager manager = new StudentManager();
Console.WriteLine("1. New Student\n2. Student ID\n3. First Name and Last Name\n4. Student ID and Name\nAction:>");
action = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter Student ID:");
int id = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter Name:");
string name = Console.ReadLine();
manager.AddStudent(id, name);
Console.WriteLine("Encoded Student IDs (in Descending Order)");
manager.DisplayEncodedStudentIDs();
Console.WriteLine("First Name and Last Name (alphabetical)");
manager.DisplayNamesAlphabetically();
Console.WriteLine("Student ID and Name");
manager.DisplayStudentIDAndName();
Console.WriteLine("Thank You");
Console.WriteLine("Invalid action. Please enter a valid action.");