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

Метод ToHashCode

Метод ToHashCode экземпляра HashCode возвращает накопленный хеш после вызовов Add. Один экземпляр после ToHashCode повторно не используют - сравнивают два одинаковых набора Add.

Синтаксис

hashCode.ToHashCode()

Пример

Давайте сравним ToHashCode у двух одинаковых цепочек Add:

using System; class Program { static void Main() { var hc1 = new HashCode(); hc1.Add(5); var hc2 = new HashCode(); hc2.Add(5); Console.WriteLine(hc1.ToHashCode() == hc2.ToHashCode()); } }

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

True

Пример

Давайте сравним ToHashCode у двух одинаковых наборов Add:

using System; class Program { static void Main() { var hc1 = new HashCode(); hc1.Add(1); hc1.Add("abcde"); var hc2 = new HashCode(); hc2.Add(1); hc2.Add("abcde"); Console.WriteLine(hc1.ToHashCode() == hc2.ToHashCode()); } }

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

True

Пример

Давайте проверим, что другой набор даёт другой хеш:

using System; class Program { static void Main() { var hc1 = new HashCode(); hc1.Add(1); var hc2 = new HashCode(); hc2.Add(2); Console.WriteLine(hc1.ToHashCode() == hc2.ToHashCode()); } }

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

False

Пример

Давайте соберём хеш из трёх полей:

using System; class Program { static void Main() { var hc1 = new HashCode(); hc1.Add(5); hc1.Add("abcde"); hc1.Add(true); var hc2 = new HashCode(); hc2.Add(5); hc2.Add("abcde"); hc2.Add(true); Console.WriteLine(hc1.ToHashCode() == hc2.ToHashCode()); } }

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

True

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

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