gpt4 book ai didi

c# - Linq FindAll 和 Where 返回不同的结果

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

我有两种不同类型的对象,它们的 ID 字段可能匹配 ID。 FindAll 操作返回正确的非匹配对象,而 Where 操作返回所有对象。有人可以帮我理解为什么吗?

var _kenticoIDs = new HashSet<string>(_kenticoSessions.Select(p => p.AttendeeInteractiveSessionID));
var list = _aiSessionIDList.FindAll(p => !_kenticoIDs.Contains(p.SessionID));
var ienum = _aiSessionIDList.Where(p => !_kenticoIDs.Contains(p.SessionID));

编辑:如果我对 resultA 变量执行 .ToList(),则结果列表与结果变量相同。但是,当我在 .ToList() 之前检查两个变量 (result/resultA) 时,一个变量有 6 个值,一个变量有 63 个值。我觉得我错过了一些明显的东西。

最佳答案

WhereFindAll 是等价的,只是在执行方面,Where 是延迟的,但是FindAll是即时的。

来源:This所以线程。

关于c# - Linq FindAll 和 Where 返回不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11619158/

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