首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从第二个表单中删除列表中的数据

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

Stack Overflow用户
提问于 2019-03-26 07:12:18
回答 1查看 75关注 0票数 2

我有一个表格,我读入一个包含学生信息的csv文件,这个文件有两列StudentNumberMark。我希望允许用户单击第一个表单上的按钮,然后转到另一个名为deleteRecord的表单。在此表单上,用户将键入一个StudentNumber和一个Mark,与之对应的记录将从列表中删除两条信息。

由于我是C#的新手,我不确定如何去做,所以任何帮助都将不胜感激。

我的清单:

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-26 07:59:27

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

首先,你需要创建一个类并(我推荐)将它放在一个文件夹中。How it looks.

然后你必须把属性放在类中:

代码语言:javascript
复制
public class Student
{
    public int StudentNumber {get; set;}
    public int Mark {get; set;}
    public int Index {get; set;}
}

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

代码语言:javascript
复制
partial class MainWindow : Window
{
    private List<Student> _studentInfo = new List<Student>()
    {
        new Student() {Index = 0, StudentNumber = 0, Mark = 0}
        // ...
    }

然后在您的deleteRecord代码的顶部添加using以及文件夹和两个类的名称:

代码语言:javascript
复制
using ExampleFolder.Class;

您需要调用您的学生类才能修改StudentNumber、标记和索引。

代码语言:javascript
复制
Student studentInfo = new Student();
代码语言:javascript
复制
    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!");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55347702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档