Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/23: Рейтинг темы: голосов - 23, средняя оценка - 4.87
andrew_w2k
331 / 331 / 90
Регистрация: 04.03.2010
Сообщений: 648
1

Перемножить элементы массива, используя лямбда-выражения

20.12.2011, 15:12. Просмотров 4384. Ответов 3
Метки нет (Все метки)

Собственно с помощью LINQ реально ли перемножить предыдущий элемент массива со следующим?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 15:12
Ответы с готовыми решениями:

Написать программу используя лямбда-выражения
Задано число x. Написать программу, проверяющую, верно ли неравенство 10 < x < 30, используя...

Найти max{min(a, b), min(c, d)}, используя лямбда-выражения
помогите с задачкой Найти max{min(a, b), min(c, d)}. используя лямбда выражения

Лямбда-выражения!
Func<double, double> expr = x => x / 2; expr(someNumber); как мне сделать чтобы при вызове...

Лямбда выражения
Как сделать таккую выборку? Есть три коллекции: Добавить в третью коллекцию те элементы, где...

3
kolorotur
Эксперт .NET
13256 / 10288 / 2673
Регистрация: 17.09.2011
Сообщений: 17,457
Завершенные тесты: 1
20.12.2011, 15:17 2
Вполне реально. Только LINQ и лямбда-выражение - разные вещи.
C#
1
2
int[] arr = { 1, 2, 3, 4, 5 };
int product = arr.Aggregate((p, x) => p *= x);
1
andrew_w2k
331 / 331 / 90
Регистрация: 04.03.2010
Сообщений: 648
20.12.2011, 15:24  [ТС] 3
а я думал, что лямбда-выражения - это подраздел LINQ
0
kolorotur
Эксперт .NET
13256 / 10288 / 2673
Регистрация: 17.09.2011
Сообщений: 17,457
Завершенные тесты: 1
20.12.2011, 17:44 4
Лямбда-выражения - это короткая нотация для анонимных методов, LINQ - набор методов-расширений для работы с коллекциями и источниками данных (XML, SQL).
Большинство этих методов принимают делегаты на методы с определенной сигнатурой, которые и можно заменить анонимными методами, которые, в свою очередь, можно заменить лямбдами.
Например, метод-расширение Where принимает делегат типа bool SomeMethod<T>(T value):
C#
1
2
string str = "Hello 123 World";
var filtered = str.Where(char.IsDigit);
В этом примере в метод передается ссылка на статический метод char, который будет вызван для каждого элемента строки, в результате чего будут выбраны только те буквы, которые являются цифрами.
Это можно заменить лямбдой:
C#
1
var filtered = str.Where(x => char.IsDigit(x));
Лямбды можно использовать и не только с линком:
C#
1
button1.Clicked += btn => Console.WriteLine(((Button)btn).Name);
Здесь в качестве обработчика клика по кнопке используется всего одна строчка кода, выводящая имя кликнутой кнопки в консоль. Нет смысла для этого писать отдельный метод, можно обойтись анонимным методом, сокращенным до лямбда-выражения.

В общем, лямбда-выражение - это языковая возможность для создания анонимных методов, которая очень удобна в паре с линком
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2011, 17:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Лямбда-выражения
Собственно,какие у нее плюсы перед анонимными методами,кроме конечно того,что теперь еще меньше...

Лямбда-выражения, оператор if
Доброго времени суток! Почему у меня после вычисления переменной xab, дальше пропускаются две...

Без Лямбда выражения
Господа. Вот код теста. Помогите пожалуйста написать то же самое, но без Лямбда выражения....

Потоки и лямбда выражения
Уважаемые специалисты, помогите пожалуйста в решение данной задачи(условие прикреплено скриншотом,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.