Более компактный способ - использовать лямбды,
studentList.Sort((x, y) => x.name.CompareTo(y.name));
Или, лучше, использовать LINQ,
studentList = studentList.OrderBy(o => o.name).ToList();
Другое решение заключается в инкапсуляции функции сравнения в самом объекте студента,например,
public class student : IComparable<student>
{
public int CompareTo(student other)
{
return name.CompareTo(other.name);
}
...
}
Таким образом, вы можете просто сделать
studentList.Sort();
И он будет использовать функцию сравнения, которую вы написали в самом классе ученика.