如何将类似这样的东西分组:
Obj1 { Source = A, Destination = B }
Obj2 { Source = B, Destination = A }
我在寻找如何对它们进行分组时遇到困难。
谁能帮我吗?
答案 0 :(得分:0)
假设您的对象包含 string 属性 Source 和 Destination ,则可以添加一个属性或方法,以按字母顺序返回其值方式。这样,可以将相反的值归类为相等。
public class Obj
{
public string Source { get; set; }
public string Destination { get; set; }
public string Key => string.Compare(Source, Destination) > 0 ?
Source + "," + Destination : Destination + "," + Source;
}
然后您可以按以下方式将它们分组:
var groupedObjects = objects.GroupBy(x => x.Key);