Описание тега gethashcode
GetHashCode - это метод базового класса Object в.Net Framework.
3
ответа
Должен ли GetHashCode быть реализован для IEquatable<T> на изменяемых типах?
Я реализую IEquatable<T>и мне трудно найти консенсус по GetHashCode переопределить в изменчивом классе. Следующие ресурсы обеспечивают реализацию где GetHashCode будет возвращать различные значения в течение времени жизни объекта, если объект …
01 мар '18 в 17:43
2
ответа
Как указать, что экземпляры некоторых классов не должны использоваться в качестве ключей словаря?
Меня интересует ваше мнение относительно проблемы, которая возникла при реализации небольшой библиотеки для написания интеграционных / системных тестов на C#. Библиотека состоит из 2 частей: тестового API-интерфейса и тестового Runtime API. Разработ…
26 мар '13 в 10:01
3
ответа
Object.GetHashCode
Мой вопрос может дублировать реализацию по умолчанию для Object.GetHashCode(), но я спрашиваю снова, потому что я не понял принятого ответа на этот вопрос. Для начала у меня есть три вопроса о принятом ответе на предыдущий вопрос, который цитирует н…
16 июл '09 в 19:28
2
ответа
Расчет GetHashCode
Я пытаюсь переопределить GetHashCode чтобы обеспечить уникальность, так как я использую экземпляры в качестве ключей в словаре: IDictionary<Base, int> _counts = new Dictionary<Base,int>(); У меня есть две проблемы: class sealed First : B…
18 апр '15 в 11:10
5
ответов
Почему хеш-коды отличаются, когда два объекта одного типа имеют одинаковые значения?
Насколько я понимаю, GetHashCode вернет одно и то же значение для двух разных экземпляров, которые имеют одинаковые значения. Документация MSDN немного размыта по этому вопросу. Хеш-код - это числовое значение, которое используется для идентификации…
04 апр '13 в 17:14
1
ответ
Перегрузка Equals / GetHashCode в VB.NET для использования объектов в качестве словарных ключей
У меня есть словарь, ключи которого являются объектами Excel Range (нет, это не подлежит обсуждению), определяется следующим образом (тип CellProp является объектом, который содержит различные свойства ячейки): Dim dic As New Dictionary(Of Excel.Ran…
09 апр '12 в 14:37
4
ответа
Почему тип "базовый" объект мой конкретный тип?
Это кажется очень простым вопросом, но, очевидно, я что-то упускаю. Я сделал тест: class A { public override int GetHashCode() { Console.WriteLine(base.GetType().Name); return 0; } } Я ожидал найти "объект", но я нахожу "А". Я полагался на это повед…
09 фев '18 в 16:43
4
ответа
GetHashCode Равная реализация для класса в C#
У меня есть класс Person, для которого я должен переопределить метод Equals и GetHashCode. Два объекта лица равны, если Имя соответствует ИЛИ, если Электронное письмо соответствует. Какой хороший способ сделать это с помощью довольно эффективной хэш…
08 ноя '10 в 22:11
1
ответ
32-битный GetHashCode() в 64-битной.NET 4.5 CLR
На 64-битной платформе.NET 4.5 можно в любом случае вычислить, что будет результатом метода GetHashCode() строки на 32-битной платформе.NET 4.5? Очевидно, что это не очень хорошая идея. Это было спрошено и объяснено здесь и здесь. Только ответ, кото…
31 мар '14 в 23:22
2
ответа
Ключи словаря не содержат ключ, который уже содержится в ключах
Почему следующая "существующая" логическая переменная получает значение false??? foreach (Cell existCell in this.decoratorByCell.Keys) { //this call yield the same hashcode for both cells. still exist==false bool exist = this.decoratorByCell.Contain…
25 апр '10 в 10:54
2
ответа
Что делают методы "public override bool equals(object obj)" и "public override int gethashcode()"?
Я начал изучать перегрузку оператора, и в примере кода, который я нашел, эти два метода были (public override bool equals(object obj) а также public override int gethashcode()). Я не понял, почему они там, потому что, когда я перезаписал эту програм…
19 дек '12 в 15:57
2
ответа
Перегрузка == оператор для класса, содержащего только строковые атрибуты
Каков наилучший (самый элегантный или эффективный) способ перегрузки оператора равенства в классе, содержащем только строковые атрибуты? Пример: class MagicClass { public string FirstAttribute { get; set; } public string SecondAttribute { get; set; …
28 апр '14 в 11:51
1
ответ
Как выбрать простые числа для вычисления хеш-кода?
Этот вопрос следует за ответом, данным Джоном Скитом на вопрос: " Каков наилучший алгоритм для переопределенного System.Object.GetHashCode?". Для вычисления хеш-кода используется следующий алгоритм: public override int GetHashCode() { unchecked // O…
09 июл '16 в 10:28
2
ответа
Как правильно переопределить string.GetHashCode()?
Я ищу, чтобы создать пользовательский метод string.GetHashCode() для некоторых строк, используемых в пространстве имен программы (в соответствии с рекомендациями, приведенными на странице msdn строки string.GetHashCode()). К сожалению, класс строки …
08 дек '13 в 18:41
2
ответа
Как использовать метод equals для проверки полей в разных объектах, чтобы увидеть, равны ли они?
Как я могу использовать объекты equals() и метод gethashcode(), чтобы проверить значение поля объектов, чтобы убедиться, что оно истинно? например номера заказов У меня есть несколько различных объектов, которые я инициирую, и мне нужно запустить ме…
18 ноя '13 в 04:10
1
ответ
Реализация GetHashCode в классе значений
У меня есть класс Money, и я хочу знать, как лучше всего реализовать GetHashCode для этого класса значений: $1!= €1. Взвешенное значение по отношению к валюте * не сработает. public class Money : System.IEquatable<Money> { public Money(Currenc…
15 фев '12 в 09:56
0
ответов
GetHashCode для класса, который содержит словарь
У меня есть класс, который мне нужно переопределить Equals а также GetHashCode методы. Класс содержит словарь с string ключ и значение SomeOtherClass, которое, в свою очередь, также имеет свою собственную реализацию Equals а также GetHashCode, publi…
04 авг '18 в 10:02
7
ответов
C#: Как бы вы протестировали модуль GetHashCode?
Тестирование Equals метод довольно прямой (насколько я знаю). Но как же ты проверяешь GetHashCode метод?
08 ноя '09 в 15:34
1
ответ
KeyEventArgs.Modifier для int32
Я делаю программу, чтобы иметь настраиваемые пользователем горячие клавиши, и у меня почти все работает, кроме 1 заминки, преобразовывающей ключи модификатора в int32 с использованием gethashcode() private void hotBox1_KeyDown(object sender, KeyEven…
07 окт '17 в 20:26
1
ответ
Как реализовать GetHashCode() в структуре C#
У меня есть структура, которая переопределяет Equals() метод и компилятор жалуется на GetHashCode() не переопределяется. Моя структура: private struct Key { ... public override int GetHashCode() { return ?; } public int FolderID; public MyEnum SubIt…
10 сен '15 в 12:40