[英]C# Object.Equals() with multiple or conditions
How can I use the Equals method, so that it checks if the user ID equals any of the IDs in someIDs?我如何使用 Equals 方法,以便它检查用户 ID 是否等于 someID 中的任何ID? In this case, I want to get all the users where the ID is the same as the IDs in someIDs.
在这种情况下,我想获取 ID 与 someIDs 中的 ID 相同的所有用户。
List<int> someIDs = someList.Select(x => x.id).ToList();
List<User> result = allUsers.Where(x => x.id.Equals(someIDs)).ToList();
This is what works, however it is hardcoded.这是有效的,但是它是硬编码的。 I want it to be similar.
我希望它是相似的。
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();
You should not override Equals
to provide a method for checking the id
matches a list.你不应该重写
Equals
为检查提供了一个方法id
列表相匹配。 Instead use what is already provided on an array/list而是使用数组/列表中已经提供的内容
var result = allUsers.Where(x => someIDs.Contains(x.id)).ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.