誰でもこのTuple<object,object>
のItem1 == Item2
は、両方ともItem1
とItem2
の両方がブール値false
の場合にfalseと評価されますか?C#value-typeタプル項目が一致しませんか?
答えて
問題は、階層ツリーを横断せず、単純に(仮想優先メソッドではなく演算子であるため)値のタイプを使用するため、==
が機能します。関数は参照チェックで関数を呼び出すため、と全く同じオブジェクト(値ではない)でない場合はfalseを返します。
自分の答えで言ったように、彼らはオブジェクトに囲まれています。したがって、この問題を解決するには、C#は(あなたのケースでObjectからBoolean.Equals
の代わりoperator ==
だろう)値の最上位の子に行くように問題を修正したEquals
を使用することができます。
var allEqual = together.All(tuple => tuple.Item1.Equals(tuple.Item2));
私はそれが理由Boxingのだと確信しています。 Tuple
の項目は両方ともobject
であるため、==
演算子は参照の比較を実行しています。 Item1
は別のobject
にボックス化されているので、==
参照比較はfalseを返します。
彼らは箱に*オブジェクトを持っています – pinkfloydx33
@ pinkfloydx33明確化のためにありがとう –
- 1. XML項目が正しく一致しません
- 2. タプル一覧の1つの項目に一致する
- 3. Xcode:Objective-C:タイプが一致しません
- 4. optionSplit、中項目と一致
- 5. 折りたたみ内のタプルに一致しません
- 6. ませんowin.Environment項目が
- 7. コメントは一致しますが、URLは一致しません。 c#regex
- 8. 2つの配列からランダムな項目を選択し、項目の順序に一致させます
- 9. MySQL - 列数が1行目の値と一致しません
- 10. RewriteRuleが一致しませんか?
- 11. DLLバージョンが一致しませんか?
- 12. ArrayListから項目を一致させて削除する
- 13. ノード一致の子ノードリストボックス項目数
- 14. はAttributeError:「タプル」オブジェクトが属性の項目「
- 15. spl_object_hashが一致するオブジェクトが一致しません
- 16. C#コード呼び出しパラメータ数が一致しません
- 17. getItemIdがメニュー項目と一致しない
- 18. HTML navbarの項目が一致しない
- 19. listViewの項目が一致しないparent n線形のレイアウト
- 20. タプルのルールと一致するF#のパターンは決して一致しません
- 21. エラーC2440: '=': 'ノード<ValueType> *'から 'ノード<ValueType> *'に変換できません。
- 22. リスト項目のサイズを一致させる
- 23. C#Reflection - オブジェクトがターゲットタイプと一致しません
- 24. 出力がcのstrcmp()関数と一致しません
- 25. C++ "this"がオブジェクトメソッドと一致しません
- 26. Pythonパッケージ関数がC++シグネチャと一致しません
- 27. ComboBox items.countがデータソースと一致しません(C#)
- 28. C++配列のエラーが型に一致しません
- 29. C#SqlBulkCopyの種類が一致しません
- 30. C#/ Unity Reflection:TargetException:オブジェクトがターゲットタイプと一致しません
私は注意してください(もし 'そのx == y)trueを返します。それ以外の場合はfalseを返します。 '' return x == y; 'と書かれた方がはるかに簡単です。 –
重複して表示されています。比較しているのは、値そのものではなく、囲み値の_references_です。同じ問題は、マークされた重複のOPが持っていた。彼自身の解決策、すなわち 'Equals()'を使用して、あなたの望むことをする選択肢について、彼の質問に答えます。 –
@PeterDunihoありがとうございます。私は何を検索するのか本当に知りませんでしたが、根本的な原因は同じであることがわかります –