カスタムのEqualityComparerを使用して辞書を作成するにはどうすればよいですか?

ロキ

TObjectDictionary<ansiString, boolean>比較したカスタム等式でを作成するには、次のことを行う必要があります。

TObjectDictionary<ansiString, boolean>.create(
  TDelegatedEqualityComparer<ansiString>.Create(
   function(const Left, Right: ansiString): Boolean
   begin
     Result := ALSameText(Left, Right);
   end,
   function(const Value: ansiString): Integer
   begin
     // !! here i want the default GetHashCode !! I don't want to write it myself 
   end))

私は、関数の実装与える必要があるので、対等ANDためのGetHashCodeメソッドをしかし、私はEquals関数の実装のみを提供したいと思います。出来ますか?

レミー・ルボー

TDictionaryそしてTObjectDictionary、キーのハッシュを必要とします。また、使用するTDelegatedEqualityComparer場合は、ハッシュを生成する関数を提供する必要があります。これがまさにその仕組みです。

ただし、独自のハッシュコードを最初から作成したくない場合は、RTLのネイティブハッシュを次のように活用できますAnsiString

function(const Value: AnsiString): Integer
begin
  Result := TEqualityComparer<AnsiString>.Default.GetHashCode(Value);
end

これは最終的にユニットからパブリックにアクセス可能な関数にデータをGetHashCode_LString()渡すという名前の内部関数に委任されるため、代わりにその関数を直接呼び出すことができます。例:AnsiStringBobJenkinsHash()System.Generics.Defaults

function(const Value: AnsiString): Integer
begin
  Result := BobJenkinsHash(PAnsiChar(Value)^, Length(Value) * SizeOf(AnsiChar), 0);
end

または、関数のドキュメントにXE8 +で記載されているように、次のようになります

警告: BobJenkinsHash非推奨です。をご利用くださいHash.THashBobJenkins.GetHashValue()

uses
  System.Hash; 

function(const Value: AnsiString): Integer
begin
  Result := THashBobJenkins.GetHashValue(PAnsiChar(Value)^, Length(Value) * SizeOf(AnsiChar)); 
end

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

dictの理解を使用して辞書の辞書を作成するにはどうすればよいですか?

分類Dev

Pythonでカスタム辞書を作成するにはどうすればよいですか?

分類Dev

カウンターを作成していますが、forループ(python)で辞書のリストを更新するにはどうすればよいですか?

分類Dev

Racketのカスタム辞書に辞書マッピングを作成するにはどうすればよいですか?

分類Dev

リストのデータを使用して新しいKEYで辞書を作成するにはどうすればよいですか?

分類Dev

Pythonを使用して辞書の作成を自動化するにはどうすればよいですか?

分類Dev

辞書の値を使用してnumpy配列を作成するにはどうすればよいですか?

分類Dev

パンダのデータフレームのリストを値として持つ辞書を作成するにはどうすればよいですか?

分類Dev

AndroidでTextViewを使用してカスタムSeekBarを作成するにはどうすればよいですか?

分類Dev

javascriptを使用してカスタムHTML要素を作成するにはどうすればよいですか?

分類Dev

Apache Tikaを使用してカスタムContentHandlerを作成するにはどうすればよいですか?

分類Dev

C#辞書を使用して他の辞書を参照するにはどうすればよいですか?

分類Dev

カスタムオブジェクトを辞書キーとして使用するにはどうすればよいですか?

分類Dev

タプルのアイテムを使用して辞書のアイテムにアクセスするにはどうすればよいですか?

分類Dev

PowerShellでカスタム関数属性を作成して使用するにはどうすればよいですか?

分類Dev

カスタムコードを使用してMagentoで作成するにはどうすればよいですか?

分類Dev

Swiftで.childByAutoId()を使用して作成されたFirebaseデータベース辞書の値を読み取るにはどうすればよいですか?

分類Dev

C#を介してゼロに近い値ベースで辞書をカスタムソートするにはどうすればよいですか?

分類Dev

Jinjaフィルターを使用してアイテムのリストに辞書を適用するにはどうすればよいですか?

分類Dev

DataContractSerializerを使用して辞書のシリアル化をカスタマイズするにはどうすればよいですか?

分類Dev

kotlinでカスタムフォントを使用してTextViewのカスタムクラスを作成するにはどうすればよいですか?

分類Dev

辞書を使用して特定のデータフレーム行にアクセスするにはどうすればよいですか?

分類Dev

Swiftで辞書のカスタム拡張機能を作成するにはどうすればよいですか?

分類Dev

辞書を調べてカウンターを使用するにはどうすればよいですか?

分類Dev

辞書のリストを繰り返し処理して新しい辞書を作成するにはどうすればよいですか?

分類Dev

繰り返し値を持つ辞書から、繰り返しを除外して辞書内のカウンターをインクリメントする新しい辞書を作成するにはどうすればよいですか?

分類Dev

2つのネストされたリストを使用して辞書のリストを作成するにはどうすればよいですか?

分類Dev

2つのネストされたリストを使用して辞書のリストを作成するにはどうすればよいですか?

分類Dev

内包リストを使用してラムダ式を含む辞書を作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    dictの理解を使用して辞書の辞書を作成するにはどうすればよいですか?

  2. 2

    Pythonでカスタム辞書を作成するにはどうすればよいですか?

  3. 3

    カウンターを作成していますが、forループ(python)で辞書のリストを更新するにはどうすればよいですか?

  4. 4

    Racketのカスタム辞書に辞書マッピングを作成するにはどうすればよいですか?

  5. 5

    リストのデータを使用して新しいKEYで辞書を作成するにはどうすればよいですか?

  6. 6

    Pythonを使用して辞書の作成を自動化するにはどうすればよいですか?

  7. 7

    辞書の値を使用してnumpy配列を作成するにはどうすればよいですか?

  8. 8

    パンダのデータフレームのリストを値として持つ辞書を作成するにはどうすればよいですか?

  9. 9

    AndroidでTextViewを使用してカスタムSeekBarを作成するにはどうすればよいですか?

  10. 10

    javascriptを使用してカスタムHTML要素を作成するにはどうすればよいですか?

  11. 11

    Apache Tikaを使用してカスタムContentHandlerを作成するにはどうすればよいですか?

  12. 12

    C#辞書を使用して他の辞書を参照するにはどうすればよいですか?

  13. 13

    カスタムオブジェクトを辞書キーとして使用するにはどうすればよいですか?

  14. 14

    タプルのアイテムを使用して辞書のアイテムにアクセスするにはどうすればよいですか?

  15. 15

    PowerShellでカスタム関数属性を作成して使用するにはどうすればよいですか?

  16. 16

    カスタムコードを使用してMagentoで作成するにはどうすればよいですか?

  17. 17

    Swiftで.childByAutoId()を使用して作成されたFirebaseデータベース辞書の値を読み取るにはどうすればよいですか?

  18. 18

    C#を介してゼロに近い値ベースで辞書をカスタムソートするにはどうすればよいですか?

  19. 19

    Jinjaフィルターを使用してアイテムのリストに辞書を適用するにはどうすればよいですか?

  20. 20

    DataContractSerializerを使用して辞書のシリアル化をカスタマイズするにはどうすればよいですか?

  21. 21

    kotlinでカスタムフォントを使用してTextViewのカスタムクラスを作成するにはどうすればよいですか?

  22. 22

    辞書を使用して特定のデータフレーム行にアクセスするにはどうすればよいですか?

  23. 23

    Swiftで辞書のカスタム拡張機能を作成するにはどうすればよいですか?

  24. 24

    辞書を調べてカウンターを使用するにはどうすればよいですか?

  25. 25

    辞書のリストを繰り返し処理して新しい辞書を作成するにはどうすればよいですか?

  26. 26

    繰り返し値を持つ辞書から、繰り返しを除外して辞書内のカウンターをインクリメントする新しい辞書を作成するにはどうすればよいですか?

  27. 27

    2つのネストされたリストを使用して辞書のリストを作成するにはどうすればよいですか?

  28. 28

    2つのネストされたリストを使用して辞書のリストを作成するにはどうすればよいですか?

  29. 29

    内包リストを使用してラムダ式を含む辞書を作成するにはどうすればよいですか?

ホットタグ

アーカイブ