问题标签 [equality]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 与字符串相等的 JavaScript 隐式转换
JavaScript 如何表现比较true == "true"
和(0 == "0")
?
.net - 哈希集和所有成员相同的类的不同实例
假设我有一个名为 myclass 的类。
在我的代码中,我有两个 myclass 实例,myclass1 和 myclass2。它们的一切(公共和私有)属性都是相同的。
如果我尝试将它们都添加到 HashSet 中,它会同时添加还是只添加一个?如果它同时添加而我不想要它,我可以在 myclass 定义中覆盖 equals 并且 HasSet 会知道如何使用它吗?
math - Prolog =:= 运算符
Prolog 中有一些特殊的运算符,其中之一是is
,但是,最近我遇到了=:=
运算符,不知道它是如何工作的。
有人能解释一下这个运算符的作用吗?我在哪里可以找到这些特殊运算符的预定义列表以及它们的作用?
c# - C# - 列表.Remove() 总是删除列表中的第一个对象
在 Visual Studio 2008 (C#) 中工作...我使用 List 集合来存储我的自定义类 (Shift) 的实例。
我想使用 Remove 方法从列表中删除某个班次。
但是 List.Remove() 总是删除它找到的第一个项目。
我已经为我的Shift实现了IComparable接口,我认为这样就足够了,然后我添加了一个IEqualityComparer的实现,它仍然没有效果。
这是我的实现的摘录:
地区 IComparable 成员
端区
地区 IEqualityComparer 成员
端区
然而,仍然 - 当列表包含两个班次时,说“8:00 - 15:00”;"12:00 - 16:00",调用 Remove("12:00-16:00") 会导致 "8:00 - 15:00" 被删除,而后一个仍保留在集合中!
这里有什么问题?谢谢
java - 你如何测试一个双精度值是否等于 NaN?
我在 Java 中有一个 double,我想检查它是否是NaN
. 做这个的最好方式是什么?
python - 为什么使用 '==' 或 'is' 比较字符串有时会产生不同的结果?
我有一个 Python 程序,其中两个变量设置为 value 'public'
。在条件表达式中,我的比较var1 is var2
失败了,但是如果我将其更改为它,var1 == var2
则返回True
.
现在,如果我打开我的 Python 解释器并进行相同的“is”比较,它就会成功。
我在这里想念什么?
javascript - JavaScript:{}==false 是 SyntaxError?
在 Firefox 3.5 中,我在 Firebug 控制台中输入:
对此有何解释?
c# - 比较两个列表为了平等
除了逐个遍历元素之外,我如何比较两个字符串列表是否相等(在 .NET 3.0 中):
这失败了:
python - 集合类的 __eq__ 方法的一个很好的例子是什么?
我正在研究一个要为其创建__eq__
方法的集合类。事实证明它比我想象的要微妙得多,而且我注意到内置集合类的工作方式有几个错综复杂的地方。
真正对我帮助最大的是一个很好的例子。__eq__
在标准库或任何第三方库中是否有方法的纯 Python 实现?
c# - 值对象的 IEqualityComparer
我有一个不可变的值对象 IPathwayModule,其值由以下内容定义:
- (int) 块;
- (实体)模块,由(字符串)ModuleId 标识;
- (枚举)状态;和
- (实体)类,由(字符串)ClassId 标识 - 可以为 null。
这是我当前的 IEqualityComparer 实现,它似乎适用于一些单元测试。但是,我认为我不了解自己做得好到足以知道自己做得是否正确。以前的实现有时会在重复测试运行时失败。
IPathwayModule 绝对是不可变的,具有相同值的不同实例应该相等并产生相同的 HashCode,因为它们被用作 HashSet 中的项目。
我想我的问题是:
- 在这种情况下我是否正确使用了界面?
- 是否存在我可能看不到所需行为的情况?
- 有什么方法可以提高鲁棒性、性能吗?
- 有没有我没有遵循的良好做法?