Поделиться через


Функция Operators.hash<'T> (F#)

Общая хэш-функция, предназначенная для возврата равных значений хэша для элементов, равных согласно оператору =. По умолчанию используется структурное хэширование для объединения, записи и кортежа F#, при этом хэшируется все содержимое типа. Точное поведение функции можно корректировать для отдельных типов, реализуя метод GetHashCode для каждого типа.

Пространство имен/путь к модулю: Microsoft.FSharp.Core.Operators

Сборка: FSharp.Core (в FSharp.Core.dll)

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

// Usage:
hash obj

Параметры

  • obj
    Тип: 'T

    Входной объект.

Возвращаемое значение

Вычисляемый хэш.

Заметки

В скомпилированных сборках имя этой функции — Hash. При обращении к функции из языка, отличного от F#, или посредством отражения следует использовать это имя.

Пример

Следующий пример показывает использование хэш-функции для генерации хэшей для различных типов данных.

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]
  

Платформы

Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 3 (SP3), Windows XP x64 с пакетом обновления 2 (SP2), Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 2 (SP2)

Сведения о версии

Среда выполнения F#

Поддерживается в версиях 2.0, 4.0

Silverlight

Поддерживается в версии 3

См. также

Ссылки

Модуль Core.Operators (F#)

Пространство имен Microsoft.FSharp.Core (F#)