gpt4 book ai didi

c# - 带 WHERE 的 Node 类型的 LINQ 搜索列表

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:25 26 4
gpt4 key购买 nike

我有一个我设置的点列表:

List<Node> points = new List<Node>();

我刚开始使用 LINQ 根据我的搜索参数在列表中查找特定项目,如下所示:

Node T = points.Where(v => v.x == position[0] && v.y == position[1]);

这是如何给出错误的:

Cannot implicitly convert type `System.Collections.Generic.IEnumerable<Node>' to `Node'

所以我想我误解了它是如何工作的,我假设它会返回它找到的列表中的节点,或者只是返回 null。

在列表上使用 Where 时它应该是什么数据类型,我有点困惑。

最佳答案

扩展方法Where将返回多个项目:IEnumerable<Node>如果您希望基于您的过滤器的一项,您可以使用:

Node T = points.FirstOrDefault(v => v.x == position[0] && v.y == position[1]);

如果没有为您的过滤器找到节点,default(Node)将被返回(即:null 如果 Node 是一个类)您还可以使用其他扩展方法,例如:

First(), Single(), SingleOrDefault()

This link将为您提供有关其特征的详细信息。

关于c# - 带 WHERE 的 Node 类型的 LINQ 搜索列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36880904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com