簡體   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