繁体   English   中英

带有多个或条件的 C# Object.Equals()

[英]C# Object.Equals() with multiple or conditions

我如何使用 Equals 方法,以便它检查用户 ID 是否等于 someID 中的任何ID? 在这种情况下,我想获取 ID 与 someIDs 中的 ID 相同的所有用户。

List<int> someIDs = someList.Select(x => x.id).ToList();
List<User> result = allUsers.Where(x => x.id.Equals(someIDs)).ToList();

这是有效的,但是它是硬编码的。 我希望它是相似的。

List<int> someIDs = someList.Select(x => x.id).ToList();
List<User> result = allUsers.Where(x => x.id.Equals(someIDs[0]) ||
                                        x.id.Equals(someIDs[1]) ||
                                        x.id.Equals(someIDs[2])
).ToList();

应该重写Equals为检查提供了一个方法id列表相匹配。 而是使用数组/列表中已经提供的内容

var result = allUsers.Where(x => someIDs.Contains(x.id)).ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM