問題タブ [iequatable]
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.
c# - 2つのリストの比較C#で
私はというクラスを持っています
このクラスはIEquatableを継承し、必要な方法で同等の実装を行います。(意味:コード内で2つのMyClass tyupeオブジェクトを個別に比較すると、機能します)
次に、2つのリストを作成します。
ListAとListBを比較するとき、私は真実になるべきですか?
vb.net - カスケード IEquatable(Of T)
それぞれ IEquatable(Of TEntity) を作成する必要があるいくつかのエンティティがあります。
最初に EntityId 間の同等性を確認してから、両方がゼロの場合は、同じ連絡先名、同じ電話番号など、他のプロパティに関して確認する必要があります.
これはどのように行われますか?
null - nullフィールドのGetHashCode?
関数内のnullフィールドを処理するにはどうすればよいGetHashCode
ですか?
c# - IEquatableを使用する場合なぜ
正確には何がIEquatable<T>
あなたを買いますか?それが有用であることがわかる唯一の理由は、ジェネリック型を作成し、ユーザーに適切なequalsメソッドの実装と記述を強制する場合です。
私は何が欠けていますか?
equals - IEquatable の実装方法可変フィールドが等価の一部である場合 - GetHashCode の問題
アプリケーションで Entity Framework を使用しています。
IEquatable<T>
インターフェイスのエンティティの部分クラスで実装しました。
私のコードでは、次のように使用しています。
EntityCollection クラスはそのエンティティを HashSet に格納するため、GetHashCode 関数と関係があることに注意してください (デバッガ ビジュアライザで確認しました)。エンティティが ID で比較されるように、ID に依存するようにします。
問題は、保存を押すと、ID が 0 からその db 値に変わることです。したがって、問題は、適切にハッシュされた同等のオブジェクトをどのように取得できるかです。
GetHashCode 関数の何が問題なのか (ID で)、それを機能させるために何を変更すればよいかを教えてください。
どうもありがとう。
c# - IEquatable を使用した兄弟クラスの C# 辞書の一意性
2 つのクラスのインスタンスを辞書構造に格納し、IEquatable を使用してこれらのインスタンスの一意性を判断したいと考えています。これらのクラスは両方とも (抽象) 基本クラスを共有します。次のクラスを検討してください。
辞書は次のように宣言されます。Dictionary<Foo, Bar>
どのクラスを IEquatable として宣言する必要がありますか? そして、これらの宣言のジェネリック型 T は何であるべきでしょうか? これは可能ですか?
c# - IEquatable と単に Object.Equals() をオーバーライドすることの違いは何ですか?
Food
クラスが の別のインスタンスと等しいときはいつでもテストできるようにしたいFood
。List.Contains()
後で List に対して使用しますが、そのメソッドを使用したいと考えています。実装するIEquatable<Food>
か、単にオーバーライドする必要がありますObject.Equals()
か? MSDN から:
このメソッドは、T (リスト内の値の型) に対する IEquatable.Equals メソッドのオブジェクトの実装によって定義されているように、既定の等値比較子を使用して等値を判断します。
では、次の質問は、.NET フレームワークのどの関数/クラスが を利用しているのObject.Equals()
かということです。そもそも使うべき?
silverlight - List<> を比較可能にする方法は?
私は Telerik GridViewを使用しており、List<> で構成された列をソートしようとすると問題が発生します。このフォーラム エントリで、Telerik チームは、Silverlight のバージョンに関係なく、グリッドは IComparable をソートし、IEquatable<> をグループ化/フィルター処理できると述べています。以下の xaml には、グリッドにある 4 つの列が表示されます。SVO 列は、私が問題を抱えている列です。SVO は List(ServiceOrder_DataViewModel) にバインドされます。List は IComparable または IEquatable を実装していないため、この列を並べ替えたり、グループ化/フィルター処理したりすることはできません。私の質問は、IComparable と IEquatable を実装する新しい List オブジェクトを作成するにはどうすればよいですか? IComparable と IEquatable を実装できるロジックはありますが、実装方法がわかりません。
c# - クラスを構造化して IEquatable と ISerializable を実装する方法
しばらくの間、これについて頭を悩ませてきました
私が抱えている問題は、IEquatable の動作を追加しようとしているため、派生クラスは ILink の Intersect などのセット操作を使用できます。
現時点では...
そして、次のような一連の派生クラス
リストの交差を行うために、そのような抽象クラスを作成すると思いました...
ただし、派生型をから変更すると
に
SerializationException "Member 'Linkid' was not found." が発生します。これは、逆シリアル化を試みる最初のメンバーです
ところで:これはリモーティングであるため、カスタムのシリアル化が必要です-これらの動作を一緒に構成する方法はありますか?
どうもありがとう!
M
c# - c#のobj1.Equals(obj2)と静的Object.Equals(obj1, obj2)の違いは何ですか?
Microsoft のドキュメントによると、両方の Equals メソッドは本質的に同じです。しかし、私は非常に奇妙なことに出くわしました。私の Silverlight プロジェクトには、Equals をオーバーライドする同じクラスの 2 つのインスタンスがあります。inst1.Equals(inst2)またはinst2.Equals(inst1)を要求すると、結果として常にtrueになります。しかし、Object.Equals(inst1, inst2)はfalseを返します。これはどのように可能ですか?
何か案は?
ありがとう、ロコ