从第二个表单中的列表中删除数据

时间:2019-03-25 23:12:18

标签: c#

我的格式是,我在读取包含学生信息的csv文件时,该文件具有两列StudentNumberMark。我想允许用户单击第一个表单上的按钮,然后转到另一个名为deleteRecord的表单。在此表单上,用户将键入StudentNumberMark并记录与它们相对应的两条信息将从列表中删除。

由于我是C#的新手,所以不确定如何进行此操作,因此将不胜感激。

我的列表:

public static List<string> studentInfo = new List<string>();

我将列表中的所有数据存储在一个名为lstMarks的列表框中

我还要向用户确认记录已成功删除。

1 个答案:

答案 0 :(得分:1)

如果所有数据都存储在列表中,只需使用LINQ并为列表中的每个学生添加一个编号即可。

首先,您需要创建一个类,并将其放入文件夹中(我建议您这样做)。 How it looks.

然后,您必须将属性放入课堂:

public class Student
{
    public int StudentNumber {get; set;}
    public int Mark {get; set;}
    public int Index {get; set;}
}

现在用列表添加另一个类:

partial class MainWindow : Window
{
    private List<Student> _studentInfo = new List<Student>()
    {
        new Student() {Index = 0, StudentNumber = 0, Mark = 0}
        // ...
    }

然后在deleteRecord的代码顶部添加使用,并添加文件夹的名称和两个类:

using ExampleFolder.Class;

您需要调用您的Student班级,以便能够修改StudentNumber以及标记和索引。

Student studentInfo = new Student();
    int iIndex = 0;

    var req = from info in studentInfo
              where info.StudentNumber == txtStudentNumber && info.Mark == txtMarks
              select info.Index; // Starts with 0 for the first student in the list
    foreach(var num in req)
    {
        iIndex = num;
    }
    studentInfo.Remove(studentInfo[iIndex]);

    MessageBox.Show("Deleted!");