Hashはコレクション編成のために整数値が決定された時に発生します
Dictionaryコレクション (PRIM_DCOL) のメンバ
パラメータ
名前 |
タイプ |
データタイプ |
記述 |
Subject |
*Input |
現在ハッシュされているオブジェクトへの参照 |
|
Hash |
*Both |
整数 |
ハッシュの値 |
詳細
コレクションを整理するためにコレクションに整数値が必要な場合は、 Hash イベントが起動します。
ハッシュ値は、常にコンポーネントを識別するハッシュを得るためにコレクションに使用されます。ハッシュを使用すると、同じハッシュを持つコレクション内のコンポーネントだけが等価であるかどうかがチェックされます。デフォルトのハッシュはコンポーネントへのポインターです。
名前や識別子などの値に基づいてディクショナリを検索できるようにする場合があります。これらの種類のハッシュを取得するには、Hashイベント中に CalculateHash メソッドを使用して、ハッシュする値を指定します。
ハッシュイベントは、順序付けられていないコレクション ( Set および Dictionary ) によってのみ使用されることに注意してください。コレクション内に多数の項目が存在する可能性がある場合、ルックアップをすばやく実行する必要があります。
他のコレクションは、項目をソートする手段として Compare イベントを使用してルックアップを行います。
順序付けられたコレクションは、コレクションを検索して一致するものを探すことによってルックアップを行います。これらのコレクションは、 IsEqual イベントを使用し、 List と Array コレクションクラスを含みます。
例
CalculateHash メソッドの使用Hash イベントは、コレクションがハッシュを評価する必要があるときはいつでも起動します。
Evtroutine Handling(#Collection.Hash) Subject(#Subject) Hash(#Hash)
#Hash := #Collection.CalculateHash(#Subject)
Endroutine