equality 相关问题

测试以确定两个或更多项是完全相同的项还是相等的值。

如何在字符串的布尔等式上进行模式匹配,并同时在Coq的证明中获得所需的命题等式?

我在尝试证明SF中的substi_correct定理时陷入困境,因为我不知道如何分解布尔相等性,同时又将其断言为命题相等性。定理...

回答 1 投票 0

我如何对飞镖中的函数进行相等性检查(以在CustomPainter的shouldRepaint方法中使用?)>

我对某个功能的飞镖相等性检查有问题。我有一个CustomPainter,我想有效地实现它的shouldRepaint()方法。 ...

回答 1 投票 0

错误的PHP字符串相等性

[出于某种原因,PHP决定如果:$ a =“ 3.14159265358979326666666666” $ b =“ 3.14159265358979323846264338” $ a == $ b为真。为什么会这样,我该如何解决?它破坏了我的代码。

回答 5 投票 6

。NET词典具有相同的键和值,但不是“相等”

此测试失败:使用Microsoft.VisualStudio.TestTools.UnitTesting; [TestMethod()] public void dictEqualTest(){IDictionary dict = new Dictionary ] >>>> 字典类未覆盖从MSDN doco中看到的Object.Equals方法: http://msdn.microsoft.com/en-us/library/bsc2ak47.aspx 确定是否指定了对象等于当前对象。 [看到您正在执行单元测试,您的[[Assert]类应提供一种测试方法来测试两个集合是否相同。 Microsoft单元测试框架提供CollectionAssert类用于比较集合: http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.collectionassert_members%28VS.80%29.aspx EDIT 词典实现了ICollection接口,您能看到它是否有效吗?您可能需要使用this overload比较两个字典条目。 EDIT Hmm IDictionary没有实现ICollection,这有点痛苦。但是,这可以工作(尽管有漏洞):IDictionary<string, int> dict = new Dictionary<string, int>(); IDictionary<string, int> dictClone = new Dictionary<string, int>(); for(int x = 0; x < 3; x++) { dict[x.ToString()] = x; dictClone[x.ToString()] = x; } CollectionAssert.AreEqual((System.Collections.ICollection)dict, (System.Collections.ICollection)dictClone); 上述方法适用于Dictionary的实例,但是,如果您正在测试返回IDictionary的方法,则可能会因为实现方式更改而失败。我的建议是将代码更改为使用Dictionary而不是IDictionary(因为IDictionary不是只读的,所以使用它而不是创建Dictionary不会掩盖所有内容)。 如果您对如何从单元测试的角度解决此问题特别感兴趣: 尝试一下 CollectionAssert.AreEquivalent(dict.ToList(), dictClone.ToList()); 说明 。Net 3.5及更高版本中有extension methods on IDictionary-例如.ToList()-会将字典转换为KeyValuePair的集合,可以轻松地将其与CollectionAssert.AreEquivalent进行比较。 他们甚至会给出合理有用的错误消息!用法示例: IDictionary<string, string> d1 = new Dictionary<string, string> { { "a", "1"}, {"b", "2"}, {"c", "3"}}; IDictionary<string, string> d2 = new Dictionary<string, string> { {"b", "2"}, { "a", "1"}, {"c", "3"}}; // same key-values, different order IDictionary<string, string> d3 = new Dictionary<string, string> { { "a", "1"}, {"d", "2"}, {"c", "3"}}; // key of the second element differs from d1 IDictionary<string, string> d4 = new Dictionary<string, string> { { "a", "1"}, {"b", "4"}, {"c", "3"}}; // value of the second element differs from d1 CollectionAssert.AreEquivalent(d1.ToList(), d2.ToList()); //CollectionAssert.AreEquivalent(d1.ToList(), d3.ToList()); // fails! //CollectionAssert.AreEquivalent(d1.ToList(), d4.ToList()); // fails! // if uncommented, the 2 tests above fail with error: // CollectionAssert.AreEquivalent failed. The expected collection contains 1 // occurrence(s) of <[b, 2]>. The actual collection contains 0 occurrence(s). 问题出在这行代码: Assert.AreEqual(dict, dictClone) 您正在比较不相等的对象引用。 我使用了一种扩展方法来检查两个序列是否相等 public static bool CheckForEquality<T>(this IEnumerable<T> source, IEnumerable<T> destination) { if (source.Count() != destination.Count()) { return false; } var dictionary = new Dictionary<T, int>(); foreach (var value in source) { if (!dictionary.ContainsKey(value)) { dictionary[value] = 1; } else { dictionary[value]++; } } foreach (var member in destination) { if (!dictionary.ContainsKey(member)) { return false; } dictionary[member]--; } foreach (var kvp in dictionary) { if (kvp.Value != 0) { return false; } } return true; } 您完全不了解引用类型如何工作。 Dictionary不会覆盖object.Equals()。因此,它使用引用相等性-基本上,如果两个引用都指向同一个实例,则它们相等,否则它们就不相等。 NUnit类CollectionAssert具有一个AreEquivalent method which accepts IEnumerable as parameters,因此在这种情况下就很简单 AreEquivalent 因为IEnumerable实现了CollectionAssert.AreEquivalent(dict, dictClone); 。

回答 6 投票 17

F#比较lambda是否相等

我想尝试比较F#lambda的相等性。第一次检查时,这是不可能的。 let foo = 10 let la =(乐趣x y-> x + y + foo)let lb =(乐趣x y-> x + y + foo)printfn“ ...

回答 1 投票 0


字符串不等于

我正在努力找出我的代码出了什么问题。当用户输入为“ apple”时,我得到它不是以元音开头的。请帮忙。导入java.util。*;公共类StringeExerciseElearn {...

回答 2 投票 -1

带有“ ===”的Javascript字符串相等

我正在编写一个React应用程序,并试图消除所有警告时,我发现了一个奇怪的错误... handleLike = id => {const movie = [... this.state.movi es]; const movie = films.filter(obj => obj ....

回答 1 投票 -1

如何计算字符串中所有大写字符?

我停留在应该计算字符串中高位字母的函数上。但是相反,计数器的结果为0,我不知道我在哪里犯了错误。 const bigLettersCount =(str)=> {让...

回答 3 投票 0

当按键失序时比较字典列表

我有2个字典清单。 a = [{{name“:” hello“,” city“:” xyz“},{” city“:” rty“,” name“:” ert“}] b = [{” city“:” xyz“ ,“ name”:“ hello”},{“ name”:“ ert”,“ city”:“ rty”}]上面两个列表是...

回答 2 投票 1

具有相同散列的对象应该相等吗?

在下面的示例中,我创建了两个内部结构完全相同的对象。两者都只携带值1作为实例变量。我的想法是,如果我使用e1的哈希值,则...

回答 3 投票 1


为什么Python dict会有多个具有相同散列的键?

我正在尝试深入了解Python哈希函数。我创建了一个自定义类,其中所有实例都返回相同的哈希值。 C类:def __hash __(self):返回42我只是...

回答 5 投票 84

使用元组或对象进行映射

我正在尝试使用新的(ES6)Map对象,以表示属性和值之间的映射。我有类似以下形式的对象:{key1:value1_1,key2:value2_1},... {key1:value1_N,key2:...

回答 5 投票 31

在几种情况下比较两个熊猫的数据框是否相等

R中的compare包的Python pandas等效项是什么,它包含一个同名的函数,该函数在多个方面比较两个数据集:您可以将不同的参数传递给...

回答 1 投票 1

三等号R

我正在尝试创建一个用于检查严格相等性的函数,我想使用三重等号。一些上下文:> 3 =='3'[1]是> FALSE == 0 [1]是以上所有检查...

回答 1 投票 0

如何检查同一类的两个实例之间是否仍具有与null相同的成员

我有一个用于指定类型的类,例如此公共类TypeSpec {public int? maxLength {get; set;} = null;公共诠释? minLength {get; set;} = null;公共诠释? maxInteger {...

回答 2 投票 0

1不等于1? MATLAB中的矩阵条目比较

我正在尝试通过将其乘以得到1来测试矩阵的求逆。我检查它是否等于1,如果不等于1,则打印一条消息和矩阵项的值。问题是打印的...

回答 1 投票 0

VB6中的浮点比较

在VB6中测试两个单打是否相等的最佳方法是什么?我想测试两个Single值是否等于7个有效数字。此MSDN文章建议使用类似If Abs(a-b)&...

回答 3 投票 3

EqualityComparerer 。Default.Equals()与object.Equals()和多态性

再次讨论平等时,我偶然发现了EqualityComparer 。Default.Equals()。我更喜欢为引用类型而不是object.Equals()调用此方法。现在我觉得我很害怕...

回答 2 投票 2

© www.soinside.com 2019 - 2024. All rights reserved.