我有两种不同类型的对象,它们的 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 个值。我觉得我错过了一些明显的东西。