首页 > 解决方案 > 我怎样才能提高我的“比较”方法效率?

问题描述

我必须将字典与列表进行比较,所以我这样解决:

public static bool DSCompare(Dictionary<int, int> d, List<int> l,) 
        => l.All(d.Values.Contains) && d.Values.All(l.Contains);

如果两个集合包含相同的元素,则它们是相等的。重复并不重要。如何提高方法效率?

标签: c#

解决方案


这是一个集合操作,所以使用集合。一个简单的方法是使用HashSet<T>

public static bool DSCompare(Dictionary<int, int> d, List<int> l) =>
    d.Values.ToHashSet().SetEquals(l); 

推荐阅读