从对象列表中获取一个对象的属性

Luk*_*uki 1 c#

我有一个对象列表,然后我想找到一个对象并显示带ID的属性值.

Names name1 = new Names(){ID=1, User="John"};
Names name2 = new Names(){ID=2, User="Mike"};
Names name3 = new Names(){ID=3, User="Ben"};
Run Code Online (Sandbox Code Playgroud)

这列出以下这些对象:

List<Names> names;
Run Code Online (Sandbox Code Playgroud)

现在我想返回ID等于2的用户名.当我只有对象列表时,我必须使用什么查询?

Jam*_*iec 6

您使用的一个它做First,FirstOrDefault,SingleSingleOrDefaultdependng您的要求,

我怀疑最合适的是SingeOrDefault基于ID通常是唯一的事实,所以你只能期望一个具有指定的单个项目ID

var item = names.SingleOrDefault(x => x.ID == 2);
if(item != null){
    var name = item.Name;
}
Run Code Online (Sandbox Code Playgroud)

Single和之间的区别在于,SingleOrDefault前者将在未找到时引发错误,后者将返回默认值 - null在对象的情况下.