0
我正在使用LINQ並使用多個對象進行組合。其中一個對象是HashSet。HashSet和其他對象的自定義IEqualityComparer <T>
var group = map.GroupBy(m => new{m.Item2.Clients,m.Item3,m.Item2.StartTimeID});
哪裏m.Item2.ClientCampaigns
的類型是一個HashSet, m.Item3
是一個單獨的類,它的GetHashCode的方法和equals方法 m.Item2.StartTimeId
的類型爲int
現在我需要做一個GROUP BY這三種,通過傳遞一個自定義的IEquality比較器我猜?
如果它只是HasSet,我可以使用HashSet<ClientCampaign>.CreateSetComparer()
作爲GroupBy方法中的第二個參數。
在這種情況下,我應該使用什麼?
如果您可以讓多個實例的成員Item2指向ClientCampaigns的完全相同的實例,那麼這將以您擁有它的方式工作。您可能需要爲Item 3成員執行相同操作。如果對象指向完全相同的實例,則對象將被視爲「平等」。 –