Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 13.10.2019
Сообщений: 32

На что можно заменить лямбда-выражение?

06.05.2020, 09:58. Показов 2151. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
var bArray = books.FindAll(x => x.title == title);
C#
1
var t = File.ReadLines("in.txt").Skip(1).Select(n =>).OrderByDescending(n => n.average).Select(n => n.surname + " " + n.name);
Есть такие вот 2 строчки. Можно ли как- то избавиться от лямбда-выражений в них??
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2020, 09:58
Ответы с готовыми решениями:

Заменить лямбда выражение на цикл
Помогите разобрать вот такую строку в коде, и если можно заменить её на цикл int i = node.Entries.TakeWhile(entry =>...

Как приведенный код заменить на Лямбда - выражение
Здравствуйте! Подскажите, как этот код заменить на Лямбда - выражение: private ImageCodecInfo GetEncoderInfo(String mimeType) ...

Как сделать метод, в который можно передать лямбда-выражение?
интересует способ написания метода, в который можно передать лямбда-выражение например x => x + 1 чтобы распознало x и увеличило на 1

6
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
06.05.2020, 11:03
Цитата Сообщение от Dwumrohl Посмотреть сообщение
Можно ли как- то избавиться от лямбда-выражений в них??
Да, вы можете заменить их на циклы.

Например:
C#
1
2
3
4
5
foreach(var book in books)
{
      if(book.title == title)
      bArray.Add(book);
}
0
0 / 0 / 0
Регистрация: 13.10.2019
Сообщений: 32
06.05.2020, 13:11  [ТС]
А со вторым как?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
06.05.2020, 13:32
Цитата Сообщение от Dwumrohl Посмотреть сообщение
А со вторым как?
Во втором информация пропущена:
Цитата Сообщение от Dwumrohl Посмотреть сообщение
C#
1
.Select(n =>)
Тело лямбды отсутствует.

C#
1
2
3
4
var t = from line in File.ReadLines("in.txt").Skip(1)
let n = ??? // Тут пропущенное тело лямбды
order n by n.average descending
select n.surname + " " + n.name;
0
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
06.05.2020, 13:33
Цитата Сообщение от Dwumrohl Посмотреть сообщение
А со вторым как?
А со втором тоже самое, но сложней.
0
0 / 0 / 0
Регистрация: 13.10.2019
Сообщений: 32
06.05.2020, 19:08  [ТС]
По поводу пропущенного:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
static void Main()
        {
            var t = File.ReadLines("in.txt").Skip(1).Select(n =>
            {
                var strings = n.Split();
                int phys = int.Parse(strings[2]),
                    mat = int.Parse(strings[3]),
                    info = int.Parse(strings[4]);
                return
                    new
                    {
                        surname = strings[0],
                        name = strings[1],
                        average = ((double)phys + mat + info) / 3
                    };
            }).OrderByDescending(n => n.average).Select(n => n.surname + " " + n.name);
 
 
            File.WriteAllLines("out.txt", t);
            Console.ReadKey();
        }
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
06.05.2020, 19:24
Dwumrohl,

C#
1
2
3
4
5
6
7
8
9
var t = from line in File.ReadLines("in.txt").Skip(1)
let n = new
{
   surname = strings[0],
   name = strings[1],
   average = ((double)phys + mat + info) / 3
}
order n by n.average descending
select n.surname + " " + n.name;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2020, 19:24
Помогаю со студенческими работами здесь

Как вот это можно написать через лямбда выражение
Есть функция и вней вот это: double ans; ans = ((((ilgis*2)+(plotis*2))*aukstis)*l)/10; return ans; можно ли как-то сократить...

Как можно реализовать подписку на событие через лямбда-выражение?
Данный код реализует семисегментные часы. В 33 строке кода происходит подписка на событие EventHandler using System; using...

Как вот это можно написать через лямбда выражение?
Есть функция и вней вот это: double ans; ans = ((((ilgis*2)+(plotis*2))*aukstis)*l)/10; return ans; можно ли как-то сократить...

Верно ли, что, чтобы передать лямбда выражение в качестве параметра, нужно использовать делегат?
Здравствуйте. Правильно ли я понимаю, что, чтобы передать функцию или лямбда выражение в качестве параметра, нужно использовать делегат?

Чем можно заменить выражение b=SQEARE(4,5+2,5)?
Объясните, пожалуйста, что это за функция


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
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 Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru