|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||||||||||||||
OrderBy() и иже с ним21.01.2019, 13:09. Показов 9160. Ответов 29
Метки нет (Все метки)
есть такой код
OrderBy() и оператор =>, но я не могу понять как оформить его использование, например
0
|
||||||||||||||||
| 21.01.2019, 13:09 | |
|
Ответы с готовыми решениями:
29
AJAX и иже с ним
|
|
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
|
||||||
| 21.01.2019, 13:13 | ||||||
Сообщение было отмечено belalugoci как решение
Решение
belalugoci,
А вообще можно Sort() использовать
1
|
||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|
| 21.01.2019, 13:16 [ТС] | |
|
0
|
|
|
Администратор
|
||
| 21.01.2019, 13:29 | ||
|
2
|
||
|
14140 / 9369 / 1350
Регистрация: 21.01.2016
Сообщений: 35,270
|
|
| 21.01.2019, 14:44 | |
|
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||
| 22.01.2019, 05:00 [ТС] | ||
x и откуда он знает что именно я хочу. а значит указание носит формальный характер.
0
|
||
|
14140 / 9369 / 1350
Регистрация: 21.01.2016
Сообщений: 35,270
|
||
| 22.01.2019, 05:52 | ||
|
belalugoci,
x - имя параметра лямбды. Можно назвать как душе угодно, лишь бы это имя не пересекалось с именем из локального скоупа, где лямбда объявляется.Добавлено через 1 минуту
0
|
||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||||||||||||||||||||||
| 22.01.2019, 07:33 [ТС] | |||||||||||||||||||||||
|
я, допустим, понимаю такое применение:
y идёт в код лямбды.Но в варианте x => x это какая-то условность, так как она ничего не делает, икс объявлено от балды и в коде тоже ничего не делает. Вот и не понятно почему C# такую бестолковость воспринимает как "сортировать список strout". то есть вместо
0
|
|||||||||||||||||||||||
|
14140 / 9369 / 1350
Регистрация: 21.01.2016
Сообщений: 35,270
|
|||
| 22.01.2019, 07:40 | |||
x - произвольное имя параметра. Зачем вообще нужна лямбда? Очень просто: у вас может быть коллекция составных объектов, а не только примитивов из строк\чисел. Т.е. у вас может быть массив объектов класса User с десятком-другим свойств. По каким критериям OrderBy должен эти объекты сортировать? Вот для этого и нужна эта лямбда.OrderBy берёт очередной элемент из массива, передаёт в вашу лямбду, назад получает значение (не важно чего), которое и будет выступать ключом, по которому будут сравниваться все объекты в коллекции. Это может быть имя пользователя, возраст, номер ИНН, что угодно - методу сортировки до фонаря, лишь бы это было сравниваемое значение.В случае с коллекцией примитивов, такой подход избыточен немного, но это задел на более сложные сценарии.
0
|
|||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||||||||||||
| 22.01.2019, 08:16 [ТС] | |||||||||||||
|
или ещё
0
|
|||||||||||||
|
14140 / 9369 / 1350
Регистрация: 21.01.2016
Сообщений: 35,270
|
|||||
| 22.01.2019, 08:20 | |||||
![]() IGrouping<A, B>phoneGroups и увидеть подсказку.
0
|
|||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||||||||
| 22.01.2019, 09:19 | |||||||||||||
|
Сортировать по чему? На вход этот метод просит ссылку на другой метод, в который будет передаваться каждый элемент сортируемой коллекции и который вернет значение, по которому надо отсортировать коллекцию. Поскольку вы используете само значение как ключ сортировки, постольку ваш метод возвращает само передаваемое значение. Аналог вашей лямбды:
Интерфейс IGrouping выглядит примерно так:
0
|
|||||||||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||||||||||
| 22.01.2019, 09:34 [ТС] | |||||||||||
list.поэтому я и говорю, что это условности, типа надо здесь всегда ставить "2", вот все и ставят. Это как сравнение C# и F# на Хабре с обязательным указанием {get; set;} которые не нужны вовсе.
0
|
|||||||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||||||||||||||||
| 22.01.2019, 09:46 | |||||||||||||||||||||
|
Указано — слеваа от точки:
А вот вариант с something.OrderBy — something order by ... what? Объект сортировать по чему?Никто не запрещает добавить свое расширение:
Потому хорошо иметь именно понимание — почему это делается так, а не иначе. Не совсем понятно.
0
|
|||||||||||||||||||||
|
14140 / 9369 / 1350
Регистрация: 21.01.2016
Сообщений: 35,270
|
||||
| 22.01.2019, 10:17 | ||||
|
0
|
||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||||||||||
| 22.01.2019, 10:18 [ТС] | ||||||||||||
|
есть класс, есть метод с ним работающий - логичная последовательная связь. a.ToString()a в строку без параметров a.ToString(param);a в строку с параметрами a.OrderBy()упорядочить а без параметров a.OrderBy(param)упорядочить a с параметрами Вроде бы всё логично. Ведь когда мы пишем a. то мы работаем с a.
x которая меняет порой и тип, вот и сидишь читаешь, а везде один и тот же x используется. Уж ладно когда я сам для себя пишу и так делаю, но в примерах на msdn можно было бы и по-нормальному сделать.
0
|
||||||||||||
|
14140 / 9369 / 1350
Регистрация: 21.01.2016
Сообщений: 35,270
|
|||||||||
| 22.01.2019, 10:26 | |||||||||
a по условию описанному в лямбде. Лямбда - совершенно легальный параметр.x существует, совершенно нагляден и ясен и никаких дополнительных телодвижений пояснительных не требует.
0
|
|||||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||
| 22.01.2019, 10:26 [ТС] | ||||
a упорядочивать по x, остается вопрос - что такое x, для чего нужно? Ведь никакой связи с a не указано. Если в VS навести мышку на x то напишется тот же тип как у a и наверное где-то кому-то информация эта полезна, но связи с a не обозначено.
0
|
||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||||||||
| 22.01.2019, 10:31 | ||||||||||
|
Через это методы там названы определенным образом, при котором их использование интуитивно понятно англоговорящим. Отсутствие этого ключа выгляди странно для англоговорящего человека, который придумывал название этого метода. От этого, увы, никуда не деться — разработчики инструментов не могут предусмотреть все возможные варианты, потому как правило дают несколько общих, из которых уже можно самостоятельно налепить себе нужный интерфейс. Особенности работы языка во всех тонкостях задокументированы в спеке. Всё имеется и доступно. ![]() Вероятно, откуда-то из выражения, у которого есть вполне конкретный тип, который полностью задокументирован на том же MSDN — достаточно посмотреть и сразу ясно, что это за Key и откуда он взялся.
0
|
||||||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||||||||||||||||
| 22.01.2019, 10:40 [ТС] | ||||||||||||||||||
0
|
||||||||||||||||||
| 22.01.2019, 10:40 | |
|
Помогаю со студенческими работами здесь
20
Магнитная мешалка и иже с ним Pipe и все иже с ним FireDAC и иже с ним. Работа с SQLite После установки сомнительной программы куча мусора в виде известного браузера и иже с ним
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
|
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 на бесплатный. . .
|