我正在尝试在列表中的两个对象(学生)之间交换,但我找不到方法
for(int i = 0; i < this.lastPosition; i++)
{
if(this.list[i].GetName().CompareTo(this.list[i+1].GetName()) > 0) {
Student temp = this.list[i];
this.list[i] = this.list[i+1];
this.list[i+1] = temp;
}
}
这是对象 StudentList:
public class StudentList
{
public const int MaxStudent = 38;
private Student[] list;
private int lastPosition;
还有学生:
public class Student
{
private string name;
private string phoneNum;
Parent parent;
非常感谢您的帮助
您的代码看起来大部分是正确的,但我认为您可能会遇到索引越界错误,因为您正在将 (list[i]) 与下一个元素 (list[i+1]) 进行比较。这意味着当 i 到达倒数第二个元素 (i = lastPosition - 1) 时,您将尝试访问 list[i+1],这是越界的。