c# /VB -更改类(对象)的属性值
本文关键字:对象 属性 VB | 更新日期: 2023-09-27 17:53:21
我有一个类似Students
的列表
public List<Students> StudentsClassCollection;
Students
类如下所示:
public class Students
{
public string StudentName;
public bool Passed;
}
我想访问一个学生并将Passed
的值从false
更改为true
。我怎么能做到呢?
使用Linq根据姓名识别学生,并将属性设置为true。仅使用名称查找记录是一种糟糕的方式,因为您需要完全匹配(包括字母的情况)。添加一个主键,或者将名字分为第一个和最后一个,并包括出生日期。
public void UpdateStudentToPassed(string studentName)
{
StudentsClassCollection.Single(obj => obj.StudentName == studentName).Passed = true;
}
var foundStudent = StudentsClassCollection.First(s => s.StudentName == "LookingForYou");
foundStudent.Passed = true;
如果你知道是哪个学生,通过索引,就像这样简单:
StudentsClassCollection[i].Passed = true
如果你正在寻找学生的名字,也许:
var student = StudentsClassCollection.FirstOrDefault(s => s.name == "Bob");
if (student != null) {
student.Passed = true
}
为学生"Bob"
oop中最无效的方法之一就是处理基类类应该被称为Student而不是students(在你的例子中你可以看到当你想要它为students时你可以使用Student的list)
public List<Student> StudentsClassCollection = new List<Students>();
StudentsClassCollection.Add(new Student("Ben","true"))
public class Student
{
public string StudentName {get; set;}
public bool Passed { get; set;}
public Student(string name,Bool pass)
{
this.StudentName = name;
this.Passed = pass;
}
}
foreach(Student s in StudentsClassCollection)
{
if(s.StudentName.Equals("what you looking for"))
s.Passed = true;
}