Вопросы по теме 'gethashcode'
Переопределение GetHashCode для изменяемых объектов?
Я прочитал около 10 разных вопросов о том, когда и как переопределить GetHashCode , но я все еще кое-что не понимаю. Большинство реализаций GetHashCode основаны на хэш-кодах полей объекта, но было указано, что значение GetHashCode никогда не...
9853 просмотров
schedule
25.02.2022
Object.GetHashCode
Мой вопрос может дублировать реализацию по умолчанию для Object.GetHashCode () , но я спрашиваю снова, потому что я не понял принятый ответ на Вон тот.
Для начала у меня есть три вопроса о принятом ответе на предыдущий вопрос , который цитирует...
10304 просмотров
schedule
08.02.2022
Почему объект System.String может не кэшировать свой хеш-код?
Взгляд на исходный код для string.GetHashCode с использованием Reflector показывает следующее (для mscorlib.dll версии 4.0):
public override unsafe int GetHashCode()
{
fixed (char* str = ((char*) this))
{
char* chPtr = str;...
3321 просмотров
schedule
20.04.2022
Компилятор сгенерировал GetHashCode()
Я работаю над написанием компилятора для языка, работающего на .net, и мне бы хотелось, чтобы он автоматически генерировал метод GetHashCode, но у меня есть несколько вопросов:
Возможно ли это, знает ли компилятор достаточно о задействованных...
470 просмотров
schedule
04.04.2022
Создание перегрузки для String.GetHashCode() для возврата одного и того же значения в средах x86 и x64
У меня есть сценарий, в котором мой код на стороне сервера работает в среде x86, а клиентская часть работает в среде x64. Проблема возникает из-за того, что мы используем String.GetHashCode() для идентификации объектов в HashTable, поскольку...
493 просмотров
schedule
30.04.2024
Хорошее переопределение GetHashCode() для списка объектов Foo с соблюдением порядка
EnumerableObject : IEnumerable<Foo>
заворачивает List<Foo>
Если EnumerableObject a.SequenceEquals( EnumerableObject b) , то они равны.
Поэтому необходимо реализовать GetHashCode . Проблема заключается в том, что операция...
28400 просмотров
schedule
14.12.2022
Каковы недостатки использования Guid().GetHashCode() при переопределении GetHashCode()
Я нашел реализацию GetHashCode(), которая выглядит так
Guid _hashCode = Guid.NewGuid();
public override int GetHashCode()
{
return _hashCode.GetHashCode();
}
Даже если Equals выглядит правильно, правильно ли говорить,...
3253 просмотров
schedule
06.12.2023
Как реализована функция GetHashCode() строки C#?
Мне просто любопытно, потому что я думаю, что это повлияет на производительность. Учитывает ли он полную строку? Если да, это будет медленно на длинной строке. Если он рассматривает только часть строки, у него будет плохая производительность...
34409 просмотров
schedule
25.05.2022
Как уменьшить сложность GetHashCode
Я хочу уменьшить время выполнения кода. Глядя на некоторые результаты тестирования, я обнаружил, что GetHashCode() занимает 21,62% времени выполнения.
Я также получил предупреждение:
Предупреждение 1 DA0010: .*.GetHashCode() = 7,63;...
290 просмотров
schedule
20.02.2024
Equals/GetHashCode переопределяет предупреждение в производном классе без состояния
Я создал строго типизированный неизменяемый класс-оболочку для различных идентификаторов строк, которые проходят через нашу систему.
Абстрактный класс BaseId:
(некоторые проверки ошибок и форматирование опущены для краткости...)
public abstract...
3996 просмотров
schedule
03.07.2022
Почему GetHashCode должен реализовывать ту же логику, что и Equals?
На этой странице MSDN он говорит:
Предупреждение:
Если вы переопределите метод GetHashCode, вы также должны переопределить Equals, и наоборот. Если ваш переопределенный метод Equals возвращает true, когда два объекта проверяются на...
249 просмотров
schedule
29.05.2022
Как Equals и GetHashCode реализованы для анонимных типов?
В справке сказано следующее:
Анонимные типы - это типы классов, которые являются производными непосредственно от объекта и не могут быть приведены ни к какому типу, кроме объекта. Компилятор предоставляет имя для каждого анонимного типа, хотя...
2509 просмотров
schedule
25.11.2022
Следует ли реализовать GetHashCode для IEquatable ‹T› на изменяемых типах?
Я реализую IEquatable<T> , и мне трудно найти консенсус по переопределению GetHashCode для изменяемого класса.
Все следующие ресурсы предоставляют реализацию, в которой GetHashCode будет возвращать разные значения в течение жизненного...
1017 просмотров
schedule
10.12.2023
IEquatable‹Point3D› в пределах допуска, как реализовать GetHashCode()
У меня есть структура Point3d , которая реализует IEquatable<Point3d> следующим образом:
public override bool Equals(object obj) {
return obj is Point3d p && Equals(p);
}
public bool Equals(Point3d other) {
return...
241 просмотров
schedule
21.01.2023
Visual Studio предлагает две версии генерации кода для Equals и GetHashCode.
Visual Studio предлагает генерировать код для Equals() и GetHashCode() двумя способами.
public class Identifier
{
public string firstName;
public string lastName;
internal Identifier(string firstName, string lastName) { this.firstName =...
69 просмотров
schedule
06.04.2023