Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651

Сравнение делегатов

23.09.2019, 00:09. Показов 2204. Ответов 8

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Нужно сравнить 2 делегата (для теста одинаковые):
C#
1
2
p1 = new Predicate<класс>(t => {выражение});
p2 = new Predicate<класс>(t => {выражение});
Как ни пытался сравнивать - бесполезно: ==, equals и т.д. Как правильно это сделать?
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.09.2019, 00:09
Ответы с готовыми решениями:

Избавиться от делегатов в коде
Помогите пожалуйста избавиться от делегатов в этом кусочке программного кода. Заранее спасибо.function.funcAddr cosx = delegate(double...

Предикат делегатов. Поиск в массиве
Имеется форма для вывода массива List. Также имеется textbox для ввода числа, по которому осуществляется поиск и 3 Radiobutton(больше....

Прицепить делегатов в классе формы
Приветствую. Начал снова учить делегатов. Хочу сделать следующее - есть форма и 2 текстовых бокса. При нажатии на кнопку в классе формы...

8
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
23.09.2019, 00:55
Delegate.Equals(Object) Method

Returns
Boolean
true if obj and the current delegate have the same targets, methods, and invocation list; otherwise, false.
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
23.09.2019, 17:23  [ТС]
RunningMan, это все равно не работает. Очень большой вопрос почему. Я действительно не понимаю почему)
0
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
23.09.2019, 17:25
Zwelenewskiy, код показать придется тогда.
кто-нибудь подскажет почему .
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18272 / 14195 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
23.09.2019, 22:42
Zwelenewskiy, сравнение не работает из-за применения лямбда выражений. Если заменить их на обычный метод, то сравнение будет работать.
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
23.09.2019, 23:01  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
сравнение не работает из-за применения лямбда выражений
С чем это связано?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18272 / 14195 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
23.09.2019, 23:41
Лучший ответ Сообщение было отмечено Zwelenewskiy как решение

Решение

Zwelenewskiy, с тем что компилятор генерирует два разных метода из двух одинаковых лямбд. В будущем это может измениться, но сейчас оно вот так. Чтоы не зависеть от поведения компилятора нужно использовать обычные методы.
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
24.09.2019, 20:25  [ТС]
OwenGlendower, ок. Такая же проблема с любыми объектами. Есть созданный объект, как его сравнить с вновь созданным объектом этого же класса?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18272 / 14195 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
24.09.2019, 21:03
Zwelenewskiy, стандартно - переопределить Equals и сравнивать через него. Дополнительно можно перегрузить операторы ==, != чтобы сравнивать более естественно с их помощью.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.09.2019, 21:03
Помогаю со студенческими работами здесь

Как построить график функции к нелинейным уравнениям с помощью элемента управления Chart и с использованием делегатов?
У меня задание: Создать приложение позволяющее решать методом Ньютона и методом половинного деления нелинейные уравнения, а также выполнять...

Игра "Такси" с использованием делегатов и событий
Суть задачи: Используя делегаты и события написать игру по следующему сценарию: Игра «Такси». Два круга начинают движение слева к центру...

Коллекция делегатов
Возможно ли на C# создать коллекцию, ключом в которой будет некое строковое значение, а значением - некий метод или делегат?

Отложенное выполнение делегатов
привет всем. Подскажите как сохранить и выполнить делегат с параметрами который будет хранится в бд? Пример: Save&lt;MYfuncs&gt;(f...

Последовательность выполнения Invoke- делегатов
Привет! У меня такой непростой вопрос. Предположим есть 4 рабочих потока и 1 основной, в котором работает форма. Все знают, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru