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

Метод Add

Метод Add структуры HashCode принимает значение и включает его хеш во внутреннее состояние. После цепочки Add итог получают через ToHashCode.

Синтаксис

hashCode.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

Пример

Давайте добавим int и string по очереди:

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

Пример

Давайте изменим порядок Add и сравним результат:

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

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

False

Пример

Давайте добавим null как ссылку:

#nullable enable using System; class Program { static void Main() { var hc1 = new HashCode(); string? str = null; hc1.Add(str); var hc2 = new HashCode(); hc2.Add(str); Console.WriteLine(hc1.ToHashCode() == hc2.ToHashCode()); } }

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

True

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

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