Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
117 of 1492 menu
◀ ▶

Метод GetHashCode

Метод GetHashCode класса Object возвращает число, связанное с содержимым объекта. Его используют вместе с Equals в словарях и множествах. Конкретное число может отличаться между запусками.

Синтаксис

obj.GetHashCode()

Пример

Давайте сравним хеш одной строки с самим собой:

using System; class Program { static void Main() { string str = "abcde"; Console.WriteLine(str.GetHashCode() == str.GetHashCode()); } }

Результат выполнения кода:

True

Пример

Давайте проверим, что равные int дают один хеш:

using System; class Program { static void Main() { int a = 5; int b = 5; Console.WriteLine(a.GetHashCode() == b.GetHashCode()); } }

Результат выполнения кода:

True

Пример

Давайте сравним хеш двух разных строк:

using System; class Program { static void Main() { string a = "abcde"; string b = "12345"; Console.WriteLine(a.GetHashCode() == b.GetHashCode()); } }

Результат выполнения кода:

False

Пример

Давайте положим строку в HashSet и проверим наличие:

using System; using System.Collections.Generic; class Program { static void Main() { var set = new HashSet<string> { "abcde" }; Console.WriteLine(set.Contains("abcde")); } }

Результат выполнения кода:

True

Смотрите также

  • метод Combine,
    который собирает хеш из частей
  • метод Equals,
    который согласуют с GetHashCode
  • класс HashCode,
    который помогает комбинировать хеши
  • класс Object,
    который объявляет GetHashCode
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить