相关疑难解决方法(0)

是否有内置的方法来比较集合?

我想在我的Equals方法中比较几个集合的内容.我有一个词典和一个IList.有没有内置的方法来做到这一点?

编辑:我想比较两个字典和两个IList,所以我认为平等意味着什么是明确的 - 如果两个字典包含映射到相同值的相同键,那么它们是相等的.

.net c# collections

170
推荐指数
6
解决办法
8万
查看次数

比较2 Dictionary <string,string> Instances

我想比较两个Dictionary<string, string>实例的内容,无论它们包含的项目的顺序如何. SequenceEquals还比较了顺序,所以我首先按键排序字典,然后调用SequenceEquals.

有没有我可以使用的方法而不是SequenceEquals只比较内容?

如果没有,这是理想的方法吗?

Dictionary<string, string> source = new Dictionary<string, string>();
Dictionary<string, string> target = new Dictionary<string, string>();

source["foo"] = "bar";
source["baz"] = "zed";
source["blah"] = null;

target["baz"] = "zed";
target["blah"] = null;
target["foo"] = "bar";

// sequenceEquals will be false
var sequenceEqual = source.SequenceEqual(target);
// contentsEqual will be true
var contentsEqual = source.OrderBy(x => x.Key).SequenceEqual(target.OrderBy(x => x.Key));
Run Code Online (Sandbox Code Playgroud)

c# linq comparison dictionary

37
推荐指数
2
解决办法
4万
查看次数

NUnit:字典断言

我想在NUnit中使用一个内联器来断言两个字典是否相同.即,我想要以下代码的简洁版本:

public static void DictionaryAssert<T, U>(Dictionary<T, U> dictionaryResult, Dictionary<T, U> expectedResult)
{
    Assert.AreEqual(dictionaryResult.Count, expectedResult.Count);
    foreach (var aKey in expectedResult.Keys)
    {
        Assert.AreEqual(expectedResult[aKey], dictionaryResult[aKey]);
    }
}
Run Code Online (Sandbox Code Playgroud)

当然不是那么困难,但我找不到参考,任何想法?

c# nunit dictionary

22
推荐指数
1
解决办法
9612
查看次数

标签 统计

c# ×3

dictionary ×2

.net ×1

collections ×1

comparison ×1

linq ×1

nunit ×1