С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/26: Рейтинг темы: голосов - 26, средняя оценка - 4.92
19 / 19 / 4
Регистрация: 29.10.2009
Сообщений: 150
1

Аналог делегата Func<T> без возвращаемого значения

29.07.2011, 11:07. Показов 5018. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть ли такой делегат в стандартной библиотеке классов?
или может быть есть способ указать в параметре типе void ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.07.2011, 11:07
Ответы с готовыми решениями:

Изменение типа параметров в объявлении делегата Func
У меня есть метод, который сортирует присылаемый список по определенному параметру. К примеру,...

Оператор без типа возвращаемого значения
operator int (); //Тут не указывается возвращаемый тип но есть оператор return; Вот: operator...

Какова разница программы с возвращаемым целым значением и без возвращаемого значения
Доброго времени суток! Подскажите, в чём разница программ с возвращаемым целочисленным значением и...

Expression<Func<T,bool>>: получить параметры и их значения
Допустим, имеется такой метод: public Task&lt;List&lt;TEntity&gt;&gt;...

12
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
29.07.2011, 11:51 2
void нельзя) само слово функция озночает возврат значения. что мешает сделать свой обобщенный делегат?
0
19 / 19 / 4
Регистрация: 29.10.2009
Сообщений: 150
29.07.2011, 11:54  [ТС] 3
Цитата Сообщение от WonderFlik Посмотреть сообщение
что мешает сделать свой обобщенный делегат?
то же, что и разработчиков .net вынудило создать Func<T>
0
35 / 35 / 15
Регистрация: 28.07.2011
Сообщений: 64
29.07.2011, 12:14 4
Может Action?
1
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
29.07.2011, 12:31 5
а зачем это нужно наверняка все просто решается
и все же я не понимаю что особенного в Func помоему одна хрень
C#
1
public delegate void Proc<in T>(T Tparam);
да это Action
1
19 / 19 / 4
Регистрация: 29.10.2009
Сообщений: 150
29.07.2011, 14:22  [ТС] 6
точно, Action
0
4338 / 1507 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
29.07.2011, 23:31 7
Цитата Сообщение от WonderFlik Посмотреть сообщение
а зачем это нужно наверняка все просто решается
и все же я не понимаю что особенного в Func помоему одна хрень
C#
1
public delegate TResult Proc<in T, out TResult>(T Tparam);
C#
1
2
3
4
Proc<int, int> p = (a) => a + 1;
Func<int, int> f = (a) => a + 1;
var r1 = Enumerable.Range(0, 10).Select(p);
var r2 = Enumerable.Range(0, 10).Select(f);
Вот что особенного. Скомпилируй
0
19 / 19 / 4
Регистрация: 29.10.2009
Сообщений: 150
01.08.2011, 10:12  [ТС] 8
Цитата Сообщение от HIMen Посмотреть сообщение
C#
1
public delegate TResult Proc<in T, out TResult>(T Tparam);
C#
1
2
3
4
Proc<int, int> p = (a) => a + 1;
Func<int, int> f = (a) => a + 1;
var r1 = Enumerable.Range(0, 10).Select(p);
var r2 = Enumerable.Range(0, 10).Select(f);
Вот что особенного. Скомпилируй
не, ну то, что тип Proc не совместим с типом Func это понятно. WonderFlik видимо имел ввиду "хрень" в более глобальном масштабе))
0
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
01.08.2011, 11:04 9
p.Invoke
0
4338 / 1507 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
01.08.2011, 15:51 10
Цитата Сообщение от WonderFlik Посмотреть сообщение
p.Invoke
а если так
C#
1
Expression<Proc<int, int>> e = (a) => a + 1;
0
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
01.08.2011, 16:12 11
C#
1
p.Compile().Invoke
0
4338 / 1507 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
01.08.2011, 22:18 12
Цитата Сообщение от WonderFlik Посмотреть сообщение
C#
1
p.Compile().Invoke
Так это не Expression. И в случае с orm произойдет "select n+1"
0
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
02.08.2011, 08:21 13
я с этими деревьями вообще не знаком что там должно произойти то если только одна функция? ну вообще там наверняка есть что то подобное, я не помню где читал что func просто обертка для обобщенного делегата сделана чисто для удобства и никакой уникальной функциональностью не обладает
0
02.08.2011, 08:21
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.08.2011, 08:21
Помогаю со студенческими работами здесь

Разница лямбда выражения, делегата (\анонимного делегата), методом (\анонимных методов)
Всё просто: В чём отличия: лямбд, делегатов, анонимных делегатов, методов, анонимных методов? ...

Нет перегруженной подпрограммы с такими типами параметров f:=(FUNC)-abs(FUNC) перед abs
Program lb4n5; Var x,b,y:real; Function FUNC(x,b:real):real; Begin ...

Обьясните работу лямбда-выражения без делегата
В данном коде: string s = Console.ReadLine(); var words = s.Split(new {' '},...

Тип возвращаемого значения
Доброе время суток! Возникла необходимость написать программу на С++. Но я в языке ,если честно,не...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru