gethashcode- все статьи тега


Почему C# не реализует GetHashCode для коллекций?

Я портирую что-то с Java на C#. В Java hashcode a ArrayList зависит от элементов в нем. В C# я всегда получаю один и тот же хэш-код из List... Почему это? Для некоторых моих объектов хэш-код должен быть другим, потому что объекты в их свойстве list делают объекты неравными. Я ожидал бы, что хэш-код всегда уникален для состояния объекта и только равен другому хэш-коду, когда объект равен. Или я ошибаюсь? ...

Каков наилучший алгоритм для переопределенной системы.Объект.GetHashCode?

в .NET System.Object.GetHashCode метод используется во многих местах, во всех библиотеках базовых классов .NET. Особенно при быстром поиске элементов в коллекции или определении равенства. Есть ли стандартный алгоритм / лучшая практика о том, как реализовать GetHashCode переопределить для моих пользовательских классов, чтобы не снизить производительность? ...

Какова роль метода GetHashCode в in.NET компаратор IEqualityComparer?

Я пытаюсь понять роль метода GetHashCode интерфейса IEqualityComparer. следующий пример взят из MSDN: using System; using System.Collections.Generic; class Example { static void Main() { try { BoxEqualityComparer boxEqC = new BoxEqualityComparer(); Dictionary<Box, String> boxes = new Dictionary<Box, string>(boxEqC); Box redBox = new Box(4, 3, 4); Box blueBox = new Box(4, 3 ...

Уникальный идентификатор объекта .NET

есть ли способ получить уникальный идентификатор экземпляра? GetHashCode() одинакова для двух ссылок, указывающих на один и тот же экземпляр. Однако два разных экземпляра могут (довольно легко) получить один и тот же хэш-код: Hashtable hashCodesSeen = new Hashtable(); LinkedList<object> l = new LinkedList<object>(); int n = 0; while (true) { object o = new object(); // Remember objects so that they don't get collected. // This does not make any difference though :( ...

Как реализуется GetHashCode() строки C#?

Мне просто любопытно, потому что я думаю, это будет иметь влияние на производительность. Учитывает ли он полную строку? Если да, то это будет медленно на длинной струне. Если он рассматривает только часть строки, он будет иметь плохую производительность (например, если он рассматривает только начало строки, он будет иметь плохую производительность, если хэш-Набор содержит в основном строки с тем же самым. ...