問題タブ [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.

0 投票する
2 に答える
607 参照

javascript - 文字列と等しい JavaScript の暗黙的な変換

true == "true"JavaScript は比較とに対してどのように動作します(0 == "0")か?

0 投票する
1 に答える
389 参照

.net - ハッシュセットと、すべてのメンバーが同一のクラスの異なるインスタンス

myclass というクラスがあるとします。

私のコードには、myclass の 2 つのインスタンス、myclass1 と myclass2 があります。それらについてのすべては、(パブリックおよびプライベート)プロパティが同一であることです。

それらの両方を HashSet に追加しようとすると、両方または 1 つだけが追加されますか? 両方を追加したくない場合は、myclass 定義で equals を上書きできますか? HasSet はそれを使用する方法を知っていますか?

0 投票する
8 に答える
54927 参照

math - Prolog =:=演算子

Prologにはいくつかの特別な演算子がありますが、そのうちの1つはis最近、演算子に出くわし、=:=それがどのように機能するのかわかりません。

誰かがこの演算子が何をするのかを説明できますか?また、そのような特別な演算子の事前定義されたリストとそれらが何をするのかをどこで見つけることができますか?

0 投票する
4 に答える
6584 参照

c# - C# - リスト.Remove() は常にリストの最初のオブジェクトを削除します

Visual Studio 2008 (C#) での作業... List コレクションを使用して、カスタム クラス (Shift) のインスタンスを格納します。

Remove メソッドを使用して、特定のシフトをリストから削除したいと考えています。

ただし、 List.Remove() は常に最初に見つかったアイテムを削除します。

Shift に IComparable インターフェイスを実装しました。これで十分だと思い、IEqualityComparer の実装を追加しましたが、まだ効果がありません。

これが私の実装の抜粋です。

リージョンI比較メンバー

エンドリージョン

regionIEqualityComparer メンバー

エンドリージョン

それでも、リストに 2 つのシフトが含まれている場合は、「8:00 - 15:00」と言います。"12:00 - 16:00"、Remove("12:00-16:00") を呼び出すと、"8:00 - 15:00" が削除され、後者はコレクションに残ります!

ここで何が問題なのですか?どうも

0 投票する
7 に答える
208278 参照

java - doubleがNaNに等しいかどうかを確認するためにどのようにテストしますか?

Javaにdoubleがあり、それがであるかどうかを確認したいと思いNaNます。これを行うための最良の方法は何ですか?

0 投票する
15 に答える
1617493 参照

python - '=='または'is'のいずれかを使用して文字列を比較すると、異なる結果が生成されることがあるのはなぜですか?

2つの変数が値に設定されているPythonプログラムがあります'public'var1 is var2条件式では、失敗する比較がありますが、これに変更するとvar1 == var2、が返されますTrue

ここで、Pythonインタープリターを開いて、同じ「is」比較を行うと、成功します。

ここで何が欠けていますか?

0 投票する
3 に答える
923 参照

javascript - JavaScript:{} == falseはSyntaxErrorですか?

Firefox 3.5では、Firebugコンソールに次のように入力します。

これの説明は何ですか?

0 投票する
9 に答える
49091 参照

c# - 2 つのリストの比較平等のために

要素を 1 つずつステップ実行する以外に、2 つの文字列リストを比較して等価性を確認するにはどうすればよいですか (.NET 3.0 の場合):

これは失敗します:

0 投票する
2 に答える
8476 参照

python - コレクションクラスの__eq__メソッドの良い例は何ですか?

__eq__メソッドを作成したいコレクションクラスに取り組んでいます。思ったよりも微妙なニュアンスがあり、組み込みのコレクションクラスがどのように機能するかについては、いくつかの複雑さに気づきました。

本当に私を最も助けてくれるのは良い例です。__eq__標準ライブラリまたはサードパーティライブラリのいずれかに、メソッドの純粋なPython実装はありますか?

0 投票する
7 に答える
3885 参照

c# - 値オブジェクトの IEqualityComparer

IPathwayModule という不変の値オブジェクトがあり、その値は次のように定義されています。

  • (整数) ブロック。
  • (エンティティ) モジュール。(文字列) ModuleId で識別されます。
  • (列挙) ステータス。と
  • (エンティティ) (文字列) ClassId で識別されるクラス - null の場合もあります。

これは、いくつかの単体テストで機能するように見える現在の IEqualityComparer 実装です。しかし、自分が何を正しく行っているかを十分に理解しているとは思えません。以前の実装では、繰り返しテストを実行すると失敗することがありました。

IPathwayModule は間違いなく不変であり、同じ値を持つ異なるインスタンスは等しく、同じ HashCode を生成する必要があります。それらは HashSet 内の項目として使用されるためです。

私の質問は次のとおりです。

  • この場合、インターフェイスを正しく使用していますか?
  • 望ましい動作が見られない場合はありますか?
  • 堅牢性、パフォーマンスを向上させる方法はありますか?
  • 私が守っていない良い習慣はありますか?