Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#/VB-更改类(对象)属性的值_C#_.net - Fatal编程技术网

C#/VB-更改类(对象)属性的值

C#/VB-更改类(对象)属性的值,c#,.net,C#,.net,我有一个学生名单,如下所示 public List<Students> StudentsClassCollection; 我想访问一名学生,并将通过的的值从false更改为true。 我该怎么做呢?如果你知道哪个学生,通过索引,它很简单: var foundStudent = StudentsClassCollection.First(s => s.StudentName == "LookingForYou"); foundStudent.Passed = true; St

我有一个学生名单,如下所示

public List<Students> StudentsClassCollection;
我想访问一名学生,并将通过的
的值从
false
更改为
true

我该怎么做呢?

如果你知道哪个学生,通过索引,它很简单:

var foundStudent = StudentsClassCollection.First(s => s.StudentName == "LookingForYou");
foundStudent.Passed = true;
StudentsClassCollection[i]。已通过=true

如果您正在按姓名查找该学生,可能:

var student = StudentsClassCollection.FirstOrDefault(s => s.name == "Bob");
if (student != null) {
 student.Passed = true
}

对于学生“Bob”

如果你知道哪个学生,通过索引,它很简单:

StudentsClassCollection[i]。已通过=true

如果您正在按姓名查找该学生,可能:

var student = StudentsClassCollection.FirstOrDefault(s => s.name == "Bob");
if (student != null) {
 student.Passed = true
}

对于学生“Bob”

来说,oop中最重要的事情之一就是做基本的东西,类应该被称为学生,而不是学生(你可以在你的例子中看到,当你想让它成为学生时,你要做学生列表)

public List studentsclasscolection=new List();
StudentsClassCollection.Add(新学生(“本”、“真”))
公立班学生
{
公共字符串StudentName{get;set;}
公共布尔值通过{get;set;}
公立学生(字符串名称,布尔通行证)
{
this.StudentName=name;
这个。通过=通过;
}
}
foreach(学生分类集合中的学生)
{
如果(s.StudentName.Equals(“您在寻找什么”))
s、 通过=正确;
}

oop中最重要的事情之一是做基本的东西类应该被称为Student而不是students(你可以在你的例子中看到,当你想让它成为学生时,你要做学生列表)

public List studentsclasscolection=new List();
StudentsClassCollection.Add(新学生(“本”、“真”))
公立班学生
{
公共字符串StudentName{get;set;}
公共布尔值通过{get;set;}
公立学生(字符串名称,布尔通行证)
{
this.StudentName=name;
这个。通过=通过;
}
}
foreach(学生分类集合中的学生)
{
如果(s.StudentName.Equals(“您在寻找什么”))
s、 通过=正确;
}

使用Linq按姓名识别学生,并将属性设置为true。仅仅使用一个名字是一种很糟糕的查找记录的方法,因为您需要一个精确的匹配项(包括字母大小写)。添加主键或将姓名拆分为first和last,并包含出生日期

    public void UpdateStudentToPassed(string studentName)
    {
       StudentsClassCollection.Single(obj => obj.StudentName == studentName).Passed = true;
    }

使用Linq按名称标识学生,并将属性设置为true。仅仅使用一个名字是一种很糟糕的查找记录的方法,因为您需要一个精确的匹配项(包括字母大小写)。添加主键或将姓名拆分为first和last,并包含出生日期

    public void UpdateStudentToPassed(string studentName)
    {
       StudentsClassCollection.Single(obj => obj.StudentName == studentName).Passed = true;
    }

StudentName是学生之间的唯一值吗?如果不是,你打算如何正确识别一组同名的学生?当你说学生班时,每个在该代码中发展的人都会认为这个班有学生名单。错误的名称,我发布了答案StudentName在您的学生之间是唯一的值吗?如果不是,你打算如何正确识别一组同名的学生?当你说学生班时,每个在该代码中发展的人都会认为这个班有学生名单。错误的名字,我贴了答案当然,如果没有这个名字的学生,这将崩溃spectacularly@Steve有一些假设。当我确定我的数据时,我使用First,不必怀疑,使用FirstOrDefault。当然,如果没有学生使用这个名字,这将崩溃spectacularly@Steve有一些假设。当我确定我的数据时,我使用First,不必怀疑,使用FirstOrDefault。如果只有一个“Bob”,否则?如果有多个学生同名,那么系统就有更大的问题——你如何判断哪一个学生真正通过了考试?如果所有名为“Bob”的学生都要通过的行为是有效的,那么您可以:
foreach(studentsclasscolection.Where(s=>s.name==“Bob”){student.passed=true;}
如果只有一个“Bob”否则?如果有多个学生同名,那么系统会有更大的问题——如何判断哪一个学生实际通过了考试?如果所有被称为“Bob”的学生都通过了有效的行为,那么您可以:
foreach(StudentsClassCollection.Where(s=>s.name==“Bob”){student.passed=true;}