C#:从列表中获取单个项<Custom_Class>如果项目中存在一个Property value ="somevalue"

Shy*_*yju 2 c# list

我有一个自定义类的列表(其中包含名称,年龄,地址等属性).如何检查列表中是否存在"名称"值为"shyju"的项目,如果存在则返回.名称将是唯一的.没有两个项目具有相同的名称.

我现在想到的解决方案是为每个循环进行循环并循环通过每个项目并使用"shyju"检查每个项目的名称并将其返回.

还有其他办法吗?

Jar*_*Par 18

如果列表中只有一个实例,则以下将返回带有提供名称的项目(如果有多个元素,则抛出该实例).

var item = list.SingleOrDefault(x => x.Name=="shyju");
if ( item != null ) { 
  ...
}
Run Code Online (Sandbox Code Playgroud)

它确实做了一些额外的工作,以保证列表中只有一个具有此名称的项目.如果你已经建立了那么你可以通过FirstOrDefault改为使用它来加快速度

var item = list.FirstOrDefault(x => x.Name=="shyju");
if ( item != null ) { 
  ...
}
Run Code Online (Sandbox Code Playgroud)