c#如何删除数组中的行?

Luk*_*čka 0 c# arrays

我的方法看起来像这样:

void OldOnesToFile(List<Student> students)
{
    string[] lines = new string[students.Count];

    int i = 0;

    foreach (Student student in students)
    {
        if (student.Course > 1)
            lines[i] = String.Format(
               "{0} {1} {2} {3} {4} {5} {6}", 
                students[i].LastName, 
                students[i].FirstName, 
                students[i].Birthday, 
                students[i].StudId, 
                students[i].Course, 
                students[i].MobileNumber, 
                students[i].Freshman);
            else 
                lines[i] = remove //Something like that??

            i++;
        }

        File.WriteAllLines(@"senbuviai.txt", lines);
    }
Run Code Online (Sandbox Code Playgroud)

看看我发表评论的地方.我应该如何编写代码,如果学生的课程不大于1,那条线会删除或者会因为我得到类似的东西而消失.

在此输入图像描述

Dmi*_*nko 8

为什么要使用数组呢?List<string>到目前为止更方便:

void OldOnesToFile(List<Student> students)
{
    List<string> lines = new List<string>();

    foreach (Student student in students)
    {
        if (student.Course > 1)
            lines.Add(String.Format(...));
    }

    File.WriteAllLines(@"senbuviai.txt", lines);
}
Run Code Online (Sandbox Code Playgroud)

甚至Linq:

 void OldOnesToFile(List<Student> students)
 {
     File.WriteAllLines(@"senbuviai.txt", students
       .Where(student => student.Course > 1)
       .Select(student => string.Format(...)));  
 } 
Run Code Online (Sandbox Code Playgroud)