Вопросы по теме 'gethashcode'
Каков наилучший алгоритм переопределения GetHashCode?
В .NET GetHashCode метод используется в много мест в библиотеках базовых классов .NET. Его правильная реализация особенно важна для быстрого поиска элементов в коллекции или при определении равенства.
Есть ли стандартный алгоритм или...
241568 просмотров
schedule
05.12.2023
Перегрузка GetHashCode и оператора равенства с использованием оператора XOR для перечислений
У меня есть следующий класс, который является частью пакета статического анализа.
Объект MetricKey используется как ключ словаря.
Decision , MetricUnit и Portfolio — все перечисления.
Мне пришлось переопределить оператор равенства...
1447 просмотров
schedule
30.03.2023
GetHashCode для нулевых полей?
Как мне работать с нулевыми полями в функции GetHashCode ?
Module Module1
Sub Main()
Dim c As New Contact
Dim hash = c.GetHashCode
End Sub
Public Class Contact : Implements IEquatable(Of Contact)
Public Name As String...
15942 просмотров
schedule
21.04.2022
Зачем использовать GetHashCode() вместо Equals()?
HashSet<T>.Add сначала сравнивает результаты GetHashCode . Если они равны, он вызывает Equals .
Насколько я понимаю, для реализации GetHashCode необходимо что-то сделать с полями объекта. Простой пример реализации можно найти по...
2206 просмотров
schedule
13.09.2022
Почему мы реализуем GetHashCode в IEqualityComparer?
Я хочу получить отдельные элементы из List в C#, используя интерфейс IEqualityComparer . Но я не знаю о GetHashCode . Я реализовал методы GetHashCode и Equals . И как я могу вызвать метод Equals , чтобы получить отдельные элементы из списка...
2851 просмотров
schedule
21.05.2023
Будет ли string.GetHashCode() возвращать отрицательное значение?
Я пробовал с пакетом случайных строк, все значения, которые я получил, положительные, но мне интересно:
Будет ли String.GetHashCode() возвращать отрицательное значение или 0?
Поскольку возвращаемое значение равно int , я предполагаю, что это...
9850 просмотров
schedule
20.04.2022
C# GetHashCode с двумя Int16 тоже возвращает только до Int32?
Извините, что объединяю два вопроса в один, они взаимосвязаны.
HashCode s вместо HashSet s и тому подобное. Насколько я понимаю, они должны быть уникальными, не меняться и представлять любую конфигурацию объекта в виде одного числа.
Мой...
597 просмотров
schedule
02.01.2023
Могу ли я реализовать GetHashCode для своей пользовательской коллекции?
У меня есть пользовательская коллекция, как показано ниже
public class CustomCollection<T>:IEnumerable<T>, IEnumerator<T>
{
int size = 0;
int current = 0;
int position = -1;
CustomComparer<T> cmp = new...
453 просмотров
schedule
21.04.2022
32-битная хеш-функция для объектов C#
Я хочу переопределить метод GetHashCode() объекта во всех моих классах. Этот метод возвращает Int32. Все известные мне криптографические хеш-функции возвращают значения, которые не помещаются в 32-битное целое число. Я хочу максимально избежать...
4147 просмотров
schedule
03.05.2023
Реализация правильного GetHashCode
У меня следующий класс
public class ResourceInfo
{
public string Id { get; set; }
public string Url { get; set; }
}
который содержит информацию о каком-то ресурсе. Теперь мне нужна возможность проверить, равны ли два таких ресурса по...
464 просмотров
schedule
20.02.2023
Реализация Object.GetHashCode ()
Я читаю эффективный C # , и есть комментарий по поводу Object.GetHashCode() , который я не понял:
Object.GetHashCode() использует внутреннее поле в классе System.Object для генерации хеш-значения. Каждому созданному объекту при...
1334 просмотров
schedule
01.04.2023
Хорошая практика GetHashCode?
Для проекта Delphi (построенного с помощью RAD Studio XE7) я хочу создать словарь кистей. Каждый элемент словаря содержит объект TMyBrush в качестве ключа, описывающего извлекаемую кисть, и кисть GDI+ в качестве значения.
Класс TMyBrush содержит 3...
1009 просмотров
schedule
06.08.2022
Как реализовать GetHashcode для компаратора DateTime, допускающего разницу?
Я реализовал IEqualityComparer<DateTime> , который может сравнивать две даты на основе значения допуска в миллисекундах. Если разница между ними меньше допуска, их следует рассматривать как равные.
Сторону Equals почти тривиально...
123 просмотров
schedule
15.12.2022