Все вопросы: [iequatable]

15 вопросов

похожие теги:
17
голосов
2ответов
10448 просмотров

Ключевые сравнения для Linq GroupBy с использованием EqualityComparer по умолчанию

Я пытаюсь выполнить Linq GroupBy для некоторых объектов, используя явный тип ключа.Я не передаю IEqualityComparer в GroupBy, поэтому в соответствии с документами: Компаратор проверки на равенство Default по умолчанию используется для сравнения ключей. Свойство EqualityComparer<T>...

0
голосов
1ответов
256 просмотров

VB.Net IEquatable, Access Denied

I just have a simple Interface definition in my project, which I haven't even used yet. But when I try to build the project I get this error: Access is denied: 'System.IEquatable`1[Reactor.IOptions]'. Below is the interface: Interface IOptions Inherits Xml.Serialization.IXm...

120
голосов
9ответов
92168 просмотров

Distinct not working with LINQ to Objects

class Program { static void Main(string[] args) { List<Book> books = new List<Book> { new Book { Name="C# in Depth", Authors = new List<Author> { new Author ...

48
голосов
5ответов
19402 просмотров

Is there a complete IEquatable implementation reference?

Many of my questions here on SO concerns IEquatable implementation. I found it being extremely difficult to implement correctly, because there are many hidden bugs in the naïve implementation, and the articles I found about it are quite incomplete. I want to find or write a definitive reference w...

2
голосов
3ответов
6249 просмотров

IEnumerable.Except() and a custom comparer

I'm having troubles with the Except() method. Instead of returning the difference, it returns the original set. I've tried implementing the IEquatable and IEqualityComparer in the Account class. I've also tried creating a separate IEqualityComparer class for Account. When the Except() method i...

3
голосов
8ответов
326 просмотров

How to treat nulls in equality comparisons?

When I have to implement equality comparers for public class SampleClass { public int Prop { get; set; } } Should I make null == new SampleClass() and new SampleClass() == null and new SampleClass().Equals(null) false? And what about new SampleClass() != null Should it be al...

1
голосов
4ответов
727 просмотров

How to implement a GetHashCode compatible Equals method, when the space is greater than 32 bits?

In .NET you need that Equals(object) and GetHashCode() are compatible. But sometimes you can't: public class GreaterThan32Bits { public int X { get; set; } public int Y { get; set; } } Because the data density is greater than 32 bits, and GetHashCode returns an Int32, you will have 3 s...

8
голосов
2ответов
4778 просмотров

Как мне приступить к реализации 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<Foo> Members public bool Equals(Foo other...

6
голосов
8ответов
4173 просмотров

Интерфейс IEquatable, что делать при проверке на null

Я реализовал интерфейс IEquatable в классе со следующим кодом. public bool Equals(ClauseBE other) { if (this._id == other._id) { return true; } return false; } public override bool Equals(Object o...

8
голосов
2ответов
2788 просмотров

Помощники по реализации метода Equals (C #)

Каждый раз, когда я пишу какой-нибудь класс данных, я обычно трачу много времени на написание реализации IEquatable. Последний класс, который я написал, был примерно таким: public class Polygon { public Point[] Vertices { get; set; } } Внедрение IEquatable было исчерпывающим. Конеч...

15
голосов
4ответов
3060 просмотров

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

У меня есть класс 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 { get; set...

2
голосов
3ответов
1261 просмотров

Для ссылочных типов как использование IEquatable <t> сокращает использование приведения?</t>

Я читал в нескольких статьях, для ссылочных типов с использованием IEquatable сокращает использование приведения Может ли кто-нибудь привести убедительный пример?

4
голосов
5ответов
1327 просмотров

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

Фон У меня есть два объекта, между которыми существует двунаправленная связь в проекте C #, над которым я работаю. Мне нужно иметь возможность проверять равенство значений (по сравнению со ссылочным равенством) по ряду причин (например, чтобы использовать их в коллекциях), поэтому я реализую ...

1
голосов
1ответов
480 просмотров

Можно ли автоматически обрабатывать List.Contains, сравнивая свойство элемента?

Можем ли мы сделать что-то подобное List.Contains(myItem), чтобы проверить, совпадает ли свойство элемента в списке со свойством myItem. (Мы рассмотрели Contains и Exists, например: if (orderLines.Contains (myLine)) {...} но не может получить простое выражение.) Нам бы хотелось чего-...

52
голосов
2ответов
20535 просмотров

Понимание IEquatable

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