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;}