Описание тега iequalitycomparer
IEqualityComparer - это интерфейс платформы.NET, который позволяет реализовать настраиваемое сравнение на равенство для коллекций. То есть вы можете создать собственное определение равенства и указать, что это определение будет использоваться с типом коллекции, который принимает интерфейс IEqualityComparer. Поддерживается в.NET версий 3.5, 3.0, 2.0 (Источник: MSDN)
1
ответ
Эффективный способ сгруппировать все равные объекты, определенные IEqualityComparer
У меня есть большой список определенных объектов, которые имеют тип Order, Кроме того, я определил IEqualityComparer<Order> и моя цель состоит в том, чтобы эффективно создать список списков (или групп), где каждый подсписок содержит объекты, к…
19 июн '15 в 12:28
1
ответ
Когда использовать IEqualityComparer в приложении, ориентированном на.NET 4.0
Есть ли какая-то выгода для меня, чтобы реализовать слабо типизированный IEqualityComparer в приложениях.NET 4.0 в дополнение к IEqualityComparer<T> интерфейс? Другой угол я всегда могу реализовать IEqualityComparer<System.Object> состав…
16 янв '11 в 04:43
1
ответ
LINQ Distinct не работает
Я пытаюсь выбрать отдельные экземпляры из моего класса, но он не работает, даже после реализации IEqualityComparer (как описано здесь: https://msdn.microsoft.com/en-us/library/bb338049.aspx) И IEquatable Может ли кто-нибудь помочь? Public Class Test…
14 июн '18 в 17:42
2
ответа
Странное поведение на IEqualityComparer
Я пытаюсь реализовать IEqualityComparer для моего объекта, который в основном определяет, является ли объект старше другого. Следующий простой пример синтезирует то, что я пытаюсь выполнить: class Program { static void Main(string[] args) { var auth…
19 сен '13 в 14:58
1
ответ
Реализация компаратора для коллекции коллекций
У меня есть свой класс MyClass<MyTriple<FirstG, SecondG, ThirdG>> : ICollection<MyTriple<FirstG, SecondG, ThirdG>> У меня есть данные, хранящиеся в: Dictionary<FirstG, Dictionary<SecondG, ThirdG>> Data и я хочу ре…
09 апр '13 в 17:37
1
ответ
Как реализовать IEqualityComparer<T> в VB.NET?
У меня есть следующая функция, которая просматривает каталог и проверяет наличие указанной папки и файла: Private Function VerifyPath(ByVal root As String, ByVal folder As String, _ ByVal file As String) As Boolean Dim folders As New List(Of String)…
08 апр '09 в 13:26
2
ответа
Конструктор HashSet с пользовательским IEqualityCompare определяется лямбда-выражением?
В настоящее время HashSet<T> Конструктор, который позволяет вам самостоятельно определить равенство HashSet<T>(IEqualityComparer<T> comparer) конструктор. Я хотел бы определить этот EqualityComparer как лямбда. Я нашел это сообщени…
19 май '09 в 07:44
1
ответ
Разница между двумя перегрузками Enumerable.Except?
Я пытаюсь понять разницу между двумя перегрузками Enumerable.Except метод т.е. Кроме (IEnumerable, IEnumerable) За исключением (IEnumerable, IEnumerable, IEqualityComparer) Очевидно, что первое отличие состоит в том, что первая перегрузка использует…
11 дек '14 в 11:42
5
ответов
EqualityComparer<T>. По умолчанию против T.Equals
Предположим, у меня есть общий MyClass<T> что нужно сравнить два объекта типа <T>, Обычно я бы сделал что-то вроде... void DoSomething(T o1, T o2) { if(o1.Equals(o2)) { ... } } Теперь предположим, что мой MyClass<T> имеет конструкт…
02 май '11 в 13:19
2
ответа
Как получить значение из универсального словаря, используя пользовательский компаратор для ключа?
У меня есть общий словарь объектов и хочу использовать пользовательский компаратор для обновления значения в словаре. myObjects содержит словарь объектов, а значение - это количество раз, которое объект существует. Обратите внимание, что значение мо…
05 дек '11 в 17:23
1
ответ
IEqualityComparer для обнуляемой структуры
Я хочу написать сравнитель равенства для структур Nullable. Допустим, DateTime?, Итак, я придумаю этот код: public class NullableEntityComparer<TEntity, TType> : IEqualityComparer<TEntity> where TType : struct where TEntity : Nullable<…
29 июл '15 в 10:10
4
ответа
C# / LINQ самый быстрый способ сравнения двух списков и присвоения значения
Я сделал код, который в основном сравнивает два списка в C#. Первый список содержит такие свойства: ItemID Всего просмотров В первом списке отсутствуют значения для TotalViews, поэтому я назначаю их из второго списка, в котором есть эти реквизиты: I…
20 фев '17 в 17:26
3
ответа
linq Кроме и пользовательских IEqualityComparer
Я пытаюсь реализовать пользовательский компаратор в двух списках строк и использую метод.Except() linq, чтобы получить те, которые не входят в один из списков. Причина, по которой я создаю собственный компаратор, заключается в том, что мне нужно вып…
23 мар '10 в 15:11
1
ответ
Преобразовать EqualityComparer<Child <T >> в EqualityComparer<Parent>
У меня есть такая иерархия: public interface INode { //... } public interface INode<T> : INode { //... } public class Node : INode { //... } public class Node<T> : Node, INode<T> { //... } Теперь я хочу сыграть так: EqualityCompare…
12 дек '18 в 10:17
1
ответ
GroupJoin, перегруженный IEqualityComparer, сравнивает только объекты во внутренней коллекции
Я столкнулся с некоторым странным поведением при реализации группового соединения с клиентом IEqualityComparer. Следующий код демонстрирует поведение, которое является проблемой для меня List<String> inner = new List<string>() { "i1", "i…
04 ноя '15 в 12:32
2
ответа
LINQ без реализации IEqualityComparer
У меня 2 коллекции с разными классами. MyClass1 - имя, возраст и т. Д. MyClass2 - имя, возраст и т. Д. Я хочу найти кроме этой коллекции. Что-то вроде list1.Exept(list2, (l1,l2) => l1.Name==l2.Nick); Но я не могу написать этот код, и мне нужно ре…
24 фев '11 в 11:56
2
ответа
Почему перегрузка Distinct() не принимает делегата сравнения (или аналогичного)?
При использовании оператора запроса Distinct() типы в запрашиваемой последовательности должны либо обеспечивать подходящие перегрузки GetHashCode() и Equals(), либо вы должны передать реализацию IEqualityComparer. Мой вопрос: почему нет перегрузки D…
17 ноя '11 в 19:32
3
ответа
Когда я должен использовать IEqualityComparer? C#
У меня есть список пользовательских объектов, где я пытаюсь удалить дубликаты записей. Я вижу так много онлайн статей, которые указывают на IEqualityComparer(Я никогда не использовал это раньше). Вопрос в том, когда мне его использовать? Я могу дост…
23 окт '18 в 19:01
1
ответ
Удалить дубликаты из DataTable и пользовательского IEqualityComparer<DataRow>
Как мне реализовать IEqualityComparer<DataRow> удалить дубликаты строк из DataTable со следующей структурой: ID primary key, col_1, col_2, col_3, col_4 Компаратор по умолчанию не работает, потому что каждая строка имеет свой уникальный первичн…
21 окт '09 в 08:32
1
ответ
Проверка экземпляра параметра ограниченного типа не для класса на null в универсальном методе
В настоящее время у меня есть общий метод, в котором я хочу выполнить некоторую проверку параметров, прежде чем работать с ними. В частности, если экземпляр параметра типа T это ссылочный тип, я хочу проверить, если это null и бросить ArgumentNullEx…
12 сен '12 в 21:30