我有一个列表,其中包含具有名称,姓氏,ID,年份等属性的Student类型的对象。我想要的是,我从具有特定索引的列表中删除特定的学生,把它放在另一个列表中。有没有办法呢? 例如:将项目从一个列表移动到另一个列表
if (((mystudent[index].Year== 7)) {
mystudent.RemoveAt(index);
// now how I shall throw the Student to a new list
}
感谢您的信息。我现在的问题是我有两个单独的班级名单。当我从列表中删除一个项目时,它的工作正常,但是当我想从另一个类中查看添加的项目到列表中时,我没有收到该项目。
public class SeniorStudentsClass
{
public List<Student> studlist = new List<Student>();
public void ViewStudents()
{
for (int i = 0; i < studlist.Count; i++)
{
Console.Write(studlist[i].Id + "\t");
Console.Write(studlist[i].Year + "\t");
Console.Write(studlist[i].Name + "\t");
Console.Write(studlist[i].Surname + "\t");
Console.Write(studlist[i].DOB + "\t");
Console.Write(studlist[i].Addr);
Console.WriteLine();
}
public class JuniorStudentsClass
{
public List<Student> mystudent = new List<Student>();
SeniorStudentsClass sc = new SeniorStudentsClass();
public void PromoteStudents(int index)
{
SearchItem(index);
Console.WriteLine("current record:");
Console.WriteLine("id is:" + mystudent[index].Id);
Console.WriteLine("year is:" + mystudent[index].Year);
Console.WriteLine("name is:" + mystudent[index].Name);
Console.WriteLine("surname is:" + mystudent[index].Surname);
Console.WriteLine("dob is:" + mystudent[index].DOB);
Console.WriteLine("address is:" + mystudent[index].Addr);
Console.WriteLine("year is:"+mystudent[index].Year);
if (((mystudent[index].Year== 7)) || ((mystudent[index].Year == 8)))
{
var student = mystudent[index];
mystudent.RemoveAt(index);
sc.studlist.Add(student);
Console.WriteLine("student promoted to senior student");
}
提示:你会希望你处置之前将它复制它。 –
只需将对象从一个列表中复制到另一个列表中,然后删除它。像这样的东西:SecondList [i] = FirstList [i]; – jAC