Вопросы по теме 'gethashcode'

Создание метода GetHashCode на C#
Как лучше всего создать собственный метод GetHashCode для класса на С#? Предположим, у меня есть простой класс (который переопределяет метод Equals) следующим образом: class Test { public string[] names; public double[] values; public...
12751 просмотров
schedule 22.08.2022

поведение gethashcode в nhibernate
Я боролся последние 3 дня со забавным, по крайней мере для меня, поведением. Основная концепция следующая: объект создается в памяти, этот объект имеет список дочерних элементов. Этот объект сохраняется в БД, потомки тоже сохраняются, каскадный...
880 просмотров

Переопределить Equals и GetHashCode в классе с одним полем
У меня есть класс: public abstract class AbstractDictionaryObject { public virtual int LangId { get; set; } public override bool Equals(object obj) { if (obj == null || obj.GetType() != GetType())...
1753 просмотров
schedule 24.06.2023

Преобразование Object.GetHashCode() в Guid
Мне нужно назначить guid объектам для управления состоянием при запуске и завершении работы приложения. Похоже, я могу хранить значения поиска в словаре, используя dictionary<int,Guid>.Add(instance.GetHashCode(), myGUID()); Есть ли...
1081 просмотров
schedule 28.04.2022

Может ли пользовательская реализация GetHashcode вызывать проблемы с блоками Dictionary или Hashtable?
Я подумываю реализовать свой собственный хэш-код для данного объекта... и использовать его как key для моего словаря. Поскольку возможно (вероятно), что 2 объекта будут иметь одинаковый хэш-код, какие дополнительные операторы я должен...
406 просмотров

Переопределение GetHashCode ()
В этой статье Джон Скит упомянул, что он обычно использует такой алгоритм для переопределения GetHashCode () . public override int GetHashCode() { unchecked // Overflow is fine, just wrap { int hash = 17; // Suitable nullity checks...
4993 просмотров
schedule 23.07.2023

С# Decimal.GetHashCode() и Double.GetHashCode() равны
Почему 17m.GetHashCode() == 17d.GetHashCode() (m=decimal, d=double) Кроме того, как и ожидалось, 17f.GetHashCode() != 17d.GetHashCode() (f=float) Похоже, это верно для обоих net3 .5 и net4.0. Как я понимаю, внутренние битовые...
2405 просмотров
schedule 25.01.2023

Что не так с моим List‹T›.Distinct()?
У меня есть класс MyItems, который реализует IEqualityComparer и переопределяет следующие методы: public bool Equals(MyItems item1, MyItems item2) { return (item1.ID == item2.ID && item1.itemName.Equals(item2)); } public int...
146 просмотров
schedule 01.04.2023

Что вернуть при переопределении Object.GetHashCode() в классах без неизменяемых полей?
Хорошо, прежде чем вы сойдете с ума из-за того, что в Интернете размещены сотни похожих по звучанию вопросов, я могу заверить вас, что я провел последние несколько часов, читая все и не нашел ответа. на мой вопрос. Задний план: По сути, одно из...
2182 просмотров
schedule 27.12.2023

Сгенерировать целое число на основе любой заданной строки (без GetHashCode)
Я пытаюсь написать метод для генерации целого числа на основе любой заданной строки. При вызове этого метода для двух одинаковых строк мне нужен метод, чтобы оба раза генерировать одно и то же точное целое число. Я пробовал использовать...
19506 просмотров
schedule 27.12.2022

Как переопределить GetHashCode и CompareTo для дискриминируемого союза в F #?
У меня есть простое размеченное объединение F #, которое объединяет логическое значение, строку и число с плавающей запятой. Я хочу переопределить Object.Equals (arg) этого объединения, чтобы я мог добавить эпсилон для учета ошибок точности при...
803 просмотров

key.GetHashCode() возвращает ключ
Я реализую хэш-таблицу и использую GetHashCode для получения уникального хэш-кода для каждого используемого ключа, однако, когда я вызываю key.GetHashCode(), функция возвращает ключ. После того, как я использую модуль, чтобы получить правильный...
288 просмотров
schedule 15.05.2022

SequenceEqual в Equals делает GetHashCode неработоспособным
(1) Я знаю, что GetHashCode должен возвращать одно и то же число для двух объектов, если они равны. (2) Я также знаю, что SequenceEqual сравнивает каждое значение List , а Equals(list1, list2) возвращает значение true, только если list1...
677 просмотров
schedule 24.09.2023

Какой ключ для словаря с интернированными строками
Я хочу связать структуру данных, кэшированную в памяти, с набором интернированных строк и использовать переданный экземпляр интернированной строки для поиска связанной с ней структуры данных. Предопределенный набор строк будет около 1000. Затраты...
283 просмотров
schedule 27.06.2022

KeyEventArgs.Modifier для int32
Я делаю программу, чтобы иметь настраиваемые пользователем горячие клавиши, и у меня почти все работает, за исключением 1 заминки, преобразующей ключи-модификаторы в int32 с помощью gethashcode() private void hotBox1_KeyDown(object sender,...
180 просмотров
schedule 14.08.2022

GetHashCode() часто переопределяет способ коллизии
Я использую единство, а в единстве нет кортежа, поэтому я создал свой собственный класс кортежа для работы, так как он нужен мне для моего словаря. Dictionary <Tuple<int,int>, Tile> Класс плитки, который я создал, на самом деле не...
333 просмотров
schedule 18.07.2023

Реализуйте GetHashCode для класса IRevertibleChangeTracking.
В моем текущем проекте Dapper используется для создания класса на основе строк из базы данных. Я сократил свой класс, чтобы сосредоточиться на компонентах равенства в моем вопросе, поэтому, пожалуйста, дайте мне знать, нужен ли какой-либо...
88 просмотров
schedule 09.06.2022

Как использовать System.HashCode.Combine с более чем 8 значениями?
.NET Standard 2.1 / .NET Core 3 представить System.HashCode , чтобы быстро объединять поля и значения в хэш-код, не заботясь о базовой реализации. Однако он предоставляет только Combine перегруженных методов до 8 значений. Что делать, если...
2014 просмотров
schedule 03.05.2022