c# - 使用 linq 选择符合我的条件的对象

标签 c# .net linq

我有一个 Person 类型的列表,它有 3 个属性 Id、Name、Age

var per1 = new Person((1, "John", 33);
var per2 = new Person((2, "Anna", 23);

var persons = new List<Person>();
persons.Add(per1);
persons.Add(per2);

使用 linq 我想选择年龄与我的输入匹配的人,例如 33。

我知道如何使用 any 但我不知道如何选择符合我条件的对象。

最佳答案

对于一场比赛:

var match = persons.Single(p => your condition);

对于许多匹配项,使用 persons.Where(condition)。只选择一个人也有很多变体,例如 FirstOrDefault、First、Last、LastOrDefault 和 SingleOrDefault。根据您的具体需求,每一种语义都略有不同。

关于c# - 使用 linq 选择符合我的条件的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17722670/

相关文章:

c# - 尝试使用 FileStream 和 StreamWriter 编写 LogFile 的异常

c# - 打开大型 C# 文件时,Visual Studio 内存不足

c# - HashSet<T>.Contains() 对于大型列表、多线程是否高效?

.net - 是否使用 SharePoint(作为应用程序开发的基础)(与 ASP.NET 相比)

c# - 哪个是更好的 linq 查询? .Where(crit).FirstOrDefault() 或 .Where(someCrit).FirstOrDefault(someOtherCrit)?

c# - 智能感知显示虚假错误,不能 "go to definition"(Visual Studio 2013)

javascript - 使用 SignalR、WebApi 和服务

c# - TextBoxFor() 不生成验证标记

c# - 如何在 C# 中从另一个表达式创建一个表达式?

c# - 如何在 JOIN 扩展方法中实现左连接