Это еще одна домашняя работа здесь. Мне нужно отсортировать студентов по его фамилии и имени (фамилия сначала, а затем второе имя). Полный список студентов должен быть отредактирован по алфавиту.Сортировка по фамилии и имени C#
Что работает до сих пор:
Если я типа в 3-х студентов с одинаковыми фамилиями, сортирует правильно.
Позволяет сказать:
Ричардсон Марк Ричардсон Майк Ричардсон Мэтт
Правильный порядок сортировки является:
Ричардсон Марк Ричардсон Мэтт Ричардсон Майк
Он также работает когда начинается фамилия с той же буквы и выглядят так
Позволяет сказать:
Ричардсон Марк Ричмонд Люк Rikkard Мэтт
Сорта, как:
Ричардсон Марк Ричмонд Люк Rikkard Мэтт
Моя проблема
код не сортировать 3 совершенно другая фамилия-х (и т.д., Ричардсон, Марксон, Bekhs) ...
Пожалуйста, обратите внимание, что только основные функции, могут и должны быть запрограммированы как сильфона!
private static void sortAlpphabetical(Student[] studentList)
{
for (int i = 1; i < studentList.Length; i++)
{
for (int j = 0; j < studentList.Length - 1; j++)
{
string lastName1 = studentList[j].lastName.ToLower() + studentList[j].name.ToLower();
string lastName2 = studentList[j + 1].lastName.ToLower() + studentList[j + 1].name.ToLower();
for (int k = 0; k < lastName1.Length; k++)
{
if (returnIndex(lastName2[k]) > returnIndex(lastName1[k]))
{
Student currentStudent = studentList[j];
studentList[j] = studentList[j + 1];
studentList[j + 1] = currentStudent;
}
}
}
}
Console.WriteLine("List of students:\n");
for (int i = 0; i < studentList.Length; i++)
{
Console.WriteLine("//code");
}
}
Когда я пытаюсь сортировать 3 разные фамилии, это дает мне Индекс находился вне границ массива. Ошибка
Необработанное исключение типа «System.IndexOutOfRangeException» произошло в work.exe
Дополнительная информация: Индекс находился вне границ массива.
Какая линия дает вам эту ошибку? Копия трассировки стека из исключения была бы удобной. –
** если ** строка, я скопировал ошибку и отредактировал вопрос – fkr