Freigeben über


Operators.hash<'T>-Funktion (F#)

Eine generische Hashfunktion zur Rückgabe gleicher Hashwerte für Elemente, die gemäß dem Operator = gleich sind. Standardmäßig wird strukturelles Hashing für Union-, Datensatz- und Tupeltypen von F# verwendet, und der vollständige Inhalt des Typs wird gehasht. Das genaue Verhalten der Funktion kann für jeden Typ angepasst werden, indem GetHashCode für jeden Typ implementiert wird.

Namespace/Modulpfad: Microsoft.FSharp.Core.Operators

Assembly: FSharp.Core (in FSharp.Core.dll)

// Signature:
hash : 'T -> int (requires equality)

// Usage:
hash obj

Parameter

  • obj
    Typ: 'T

    Das Eingabeobjekt.

Rückgabewert

Der errechnete Hash.

Hinweise

Der Name dieser Funktion in kompilierten Assemblys lautet Hash. Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.

Beispiel

In den folgenden Beispielen wird die Verwendung der Hashfunktion zum Erstellen von Hashs für eine Vielzahl von Datentypen veranschaulicht.

let show a = printfn "hash(%A) : %d" a (hash a) 
show 1;
show 2;
show "1"
show "2"
show "abb" 
show "aBc" // case-sensitive
show None;
show (Some 1);
show (Some 0);
show [1;2;3];
show [1;2;3;4;5;6;7;8];
show [1;2;3;4;5;6;7;8;9;10;11];
show [1;2;3;4;5;6;7;8;9;10;11;12;13;14;15]
  

Plattformen

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Versionsinformationen

F#-Kern-Bibliotheks-Versionen

Unterstützt in: 2,0, 4,0, portablen

Siehe auch

Referenz

Core.Operators-Modul (F#)

Microsoft.FSharp.Core-Namespace (F#)