rec*_*ive 8 c# linq group-by hashset
我知道如何使用匿名类型按固定的值列表进行分组.我想要做的是按一组实际值进行分组.
例如,此表达式的结果为2.
new List<HashSet<int>> {
new HashSet<int> { 4 },
new HashSet<int> { 4 }
}.GroupBy (x => x).Count()
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法将这些集合放在同一个组中,以便结果为1.在python中,这将使用完成frozenset.
这样做最干净的方法是什么?
您可以使用静态HashSet<T>.CreateSetComparer方法来实现此目的.
回报价值
类型:System.Collections.Generic.IEqualityComparer>一个IEqualityComparer对象,可用于对HashSet对象进行深度相等测试.
new List<HashSet<int>> {
new HashSet<int> { 4 },
new HashSet<int> { 4 }
}.GroupBy (x => x, HashSet<int>.CreateSetComparer())
Run Code Online (Sandbox Code Playgroud)