Set コレクション - Hash イベント

Hash はコレクション編成のために整数値が決定された時に発生します  

Set コレクション (PRIM_SCOL) のメンバ

パラメーター

名前タイプデータ タイプ記述
Subject*InputPRIM_OBJT現在ハッシュされているオブジェクトへの参照
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

参照

すべてのコンポーネント クラス

テクニカルリファレンス

2018 - V14SP1