c# - 使用 LINQ 进行简化 - 基本选择

标签 c# linq list

foreach (var person in peopleList.Where(person => person.FirstName == "Messi")) { selectPeople.Add(人);

我只是想知道是否有任何方法可以使用 LINQ 来简化它。

喜欢而不是看我试图使用 LINQ 只用“Messi”的列表填充所有的人...正在尝试类似...

var selectPeople = peopleList.Select(x=>x.FirstName=="Messi");

然后我可以在不检查的情况下将每个人都添加到该列表中。但它并没有完全按计划工作。

也许没有必要简化该表达式。但是这个问题似乎只是为了加强我的 LINQ 知识。

最佳答案

你很接近。实际上是在不知不觉中完成的。

var selectPeople = peopleList.Where(x=>x.FirstName == "Messi");

这将创建一个 IEnumerable<X> ,其中 X 是 peopleList 中的任何类型。

查询表达式语法为

var selectPeople = from person in peopleList
                   where person.FirstName == "Messi"
                   select person;

为了以具体的 List 格式获取它,我相信您也已经发现了 .ToList() 扩展。

关于c# - 使用 LINQ 进行简化 - 基本选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549717/

相关文章:

c# - ‘帮助’ 服务器无法生成主键列

c# - 只需一两行即可从 C# 3.5 中的集合中返回最合适的项目

html - 使列表项包含图片和其下方的标签

c++ - c++ 中的蓝牙库跨平台

javascript - JS : name/val pairs to array

c# - Selenium 为什么将 acceptuntrustedcertificates 设置为 true 对于 firefox 驱动程序不起作用?

c# - Web API HttpResponseMessage 内容返回不完整

c# - 如何订购应用程序设置

c# - UserControl 在 Visual Studio 设计器中显示属性,但属性未更改

c# - WebBrowser 控件在 session 中下载文件