Описание тега iequatable

Interface, which defines a generalized method that a value type or class implements to create a type-specific method for determining equality of instances.
3 ответа

Должен ли GetHashCode быть реализован для IEquatable<T> на изменяемых типах?

Я реализую IEquatable&lt;T&gt;и мне трудно найти консенсус по GetHashCode переопределить в изменчивом классе. Следующие ресурсы обеспечивают реализацию где GetHashCode будет возвращать различные значения в течение времени жизни объекта, если объект …
01 мар '18 в 17:43
5 ответов

Соотношение значений с двунаправленной ассоциацией в C#

Фон У меня есть два объекта, которые имеют двунаправленную связь между ними в проекте C#, над которым я работаю. Мне нужно иметь возможность проверять равенство значений (по сравнению с ссылочным равенством) по ряду причин (например, использовать их…
08 апр '09 в 18:20
1 ответ

LINQ Distinct не работает

Я пытаюсь выбрать отдельные экземпляры из моего класса, но он не работает, даже после реализации IEqualityComparer (как описано здесь: https://msdn.microsoft.com/en-us/library/bb338049.aspx) И IEquatable Может ли кто-нибудь помочь? Public Class Test…
2 ответа

Возникли проблемы при сравнении двух пользовательских объектов класса

Возможный дубликат: Что такое "Лучшая практика" для сравнения двух экземпляров ссылочного типа? У меня есть этот пользовательский класс для моего приложения. Есть два экземпляра (A и B) этого класса, которые я пытаюсь сравнить. Однако у меня проблем…
23 дек '12 в 15:05
1 ответ

Реализация GetHashCode в классе значений

У меня есть класс Money, и я хочу знать, как лучше всего реализовать GetHashCode для этого класса значений: $1!= €1. Взвешенное значение по отношению к валюте * не сработает. public class Money : System.IEquatable&lt;Money&gt; { public Money(Currenc…
15 фев '12 в 09:56
4 ответа

Должен ли я использовать конкатенацию моих строковых полей в качестве хеш-кода?

У меня есть класс Address в C#, который выглядит так: public class Address { public string StreetAddress { get; set; } public string RuralRoute { get; set; } public string City { get; set; } public string Province { get; set; } public string Country…
05 июн '09 в 19:09
2 ответа

Разница между Object.Equals(objA, objB), objA.Equals(objB) и objA == objB для типов CLR?

Мне интересно, будут ли типы CLR возвращать разные результаты из следующих: Object.Equals(objA, objB) objA.Equals(objB) (objA == objB) Я понимаю, что за пределами CLR кто-то может легко реализовать IEqualtable Равно и перегружает оператор == неправи…
2 ответа

Пользовательский содержит для списка<ReferenceObject> C#

Я пытаюсь использовать List.Contains в List. Мои объекты для сравнения взяты из Service Reference в C#, и их метод Equals не удовлетворяет моим потребностям. Я смотрел в IEquatables или о том, как переопределить мой метод Equals в объекте, который м…
19 мар '15 в 13:51
2 ответа

Помощники реализации метода равных (C#)

Каждый раз, когда я пишу некоторый класс данных, я обычно трачу столько времени на написание реализации IEquatable. Последний класс, который я написал, был примерно таким: public class Polygon { public Point[] Vertices { get; set; } } Реализация IEq…
07 июн '09 в 22:37
0 ответов

NUnit GetResultState создает исключение NullReferenceException

Я получаю внутреннее NullReferenceException из NUnit 2.6.4 во время работы прибора модульного тестирования: SetUp : System.NullReferenceException : Object reference not set to an instance of an object at NUnit.Core.NUnitFramework.GetResultState (Sys…
27 апр '17 в 22:41
1 ответ

Что не так с моей реализацией IEquatable<T>, IComparable<T>? SortedList генерирует ArgumentException

Я работаю над решением головоломки онлайн и наткнулся на эту проблему, где, учитывая двумерную матрицу и число k, мне нужно вернуть k-й наименьший элемент в матрице. matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ], k = 8, return 13. Я могу решит…
13 дек '18 в 06:00
1 ответ

Уравновешенный в Swift

Я пытаюсь определить Equatable, используя структуры Swift. Я получаю сообщение об ошибке на линии func == поговорка Operators are only allowed at global scope, struct ShoppingList { var shoppingListId :NSNumber var title :String init(title :String) …
23 ноя '15 в 17:31
4 ответа

В чем разница между obj1.Equals(obj2) и статическим Object.Equals(obj1, obj2) в C#?

Судя по документации Microsoft, оба Equals-метода практически одинаковы. Но я наткнулся на что-то очень странное. в моем проекте Silverlight у меня есть два экземпляра одного класса, которые переопределяют Equals. Если я запрашиваю inst1.Equals(inst…
13 сен '10 в 15:10
2 ответа

Понимание IEquatable

Когда я реализую объекты, которые я хочу сравнить, используя IEquatable&lt;T&gt; интерфейс: Почему я должен переопределить Equals(object) метод, если я уже реализовал Equals(T)? Могу ли я использовать == а также != операторы, когда я реализую IEquat…
04 янв '09 в 19:08
0 ответов

Справочное равенство в ListBox SelectedItem

Я работаю над приложением Silverlight для WP7 (Mango), и у меня есть ListBox (показывает компании), который заполняется запросом на обслуживание. У меня также есть объект профиля, загруженный из другого запроса службы.К сожалению, я не контролирую A…
1 ответ

Обработка коллекций в реализации GetHashCode

Я работаю над реализацией GetHashCode() на основе структуры HashCode в этом ответе здесь. Поскольку мой метод Equals будет рассматривать коллекции с использованием Enumerable.SequenceEqual(), мне нужно включить коллекции в мою реализацию GetHashCode…
16 фев '15 в 16:42
2 ответа

Как я должен идти о реализации Object.GetHashCode() для комплексного равенства?

На данный момент у меня есть следующее: class Foo { public override bool Equals(object obj) { Foo d = obj as Foo ; if (d == null) return false; return this.Equals(d); } #region IEquatable&lt;Foo&gt; Members public bool Equals(Foo other) { if (this.G…
02 июл '09 в 01:09
3 ответа

Найти элемент внутри List<T>, предоставив образец экземпляра объекта

Почему есть List&lt;T&gt;.Contains(T) метод но нет List&lt;T&gt;.Find(T) метод? Только Finds, которые поддерживают предикаты, поддерживаются. Если у нас есть существующий экземпляр T, заполненный значением свойства для его идентификатора (но без дру…
15 авг '11 в 14:36
2 ответа

Использование структуры в качестве ключа для словаря и странные вещи происходят

Вот моя структура... internal struct Coord : IEquatable&lt;Coord&gt; { public int X { get; private set; } public int Y { get; private set; } public Coord(int x,int y) : this(){ X = x; Y = y;} //Overloaded operator functuions below //So I can easily …
18 фев '13 в 16:08
3 ответа

Для ссылочных типов как использование IEquatable<T> уменьшает использование приведения?

Я прочитал в нескольких статьях, которые для ссылочных типов использование IEquatable сокращает использование приведения Может ли кто-нибудь любезно привести убедительный пример.
20 май '09 в 16:26