Jam*_*s A 1 c# class list object
我有这门课:
public class Person
{
public String name;
public int score;
public float multiplier;
public Person(String nameID)
{
name = nameID;
score = 0;
multiplier = 1.0f;
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个包含这些类的List:
private List<Person> _people;
Run Code Online (Sandbox Code Playgroud)
有什么方法可以使用这个名字得分吗?
_people.GetScore("example name"); // return the score of the class containing that name?
Run Code Online (Sandbox Code Playgroud)
使用LINQ:
_people.FirstOrDefault(c => c.name == "example name")?.score;
Run Code Online (Sandbox Code Playgroud)
只是不要忘记首先添加using System.Linq;到您的using指令.另请注意,您还需要使用Null条件运算符(?.),用于在执行成员访问之前测试null(score在本例中)另外,最好使用属性而不是字段:
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)