170 похожих чатов

Задача сделать методы расширения для LINQ, не пользуясь оператором yield.

Воспользоваться sql-style выражением это решение, или там под капотом все равно yield и нужно копать в другую сторону?

13 ответов

4 просмотра

Звучит будто бы тебе надо написать самому, а не использовать готовые, не важно sql style или нет

Anton-Motin Автор вопроса
Andrew Shurunov
Звучит будто бы тебе надо написать самому, а не ис...

Как я понимаю задачу - написать метод, где не будет yield в коде. Вот и думаю это буквально воспринимать нужно, или ручками перебирать и возвращать новую коллекцию. Типа для Take добавлять в результат члены коллекции, пока не дойду для индекса нужного, Where - добавлять при определенном условии и тд

Anton Motin
Как я понимаю задачу - написать метод, где не буде...

Хз как понимать задачу Если ты будешь юзать linq то конкретно в твоём коде не будет yield, он будет в либе linq

Anton Motin
Как я понимаю задачу - написать метод, где не буде...

так в линке внутри нет никаких yield) там же энумераторы, а у них только MoveNext() и Current)

обмани систему, вызывай в этом методе расширения кастомный класс итератор

Anton-Motin Автор вопроса
Сергей
так в линке внутри нет никаких yield) там же энуме...

Есть там это, достаточно в соурс заглянуть

Anton Motin
Есть там это, достаточно в соурс заглянуть

Ну формально он прав Нету никаких yield)

Anton Motin
Есть там это, достаточно в соурс заглянуть

а можно какую-нибудь ссылку чтобы прямо yield было написано)

Сергей
а можно какую-нибудь ссылку чтобы прямо yield было...

https://source.dot.net/#System.Linq/System/Linq/Select.cs,577032c8811e20d3

Anton-Motin Автор вопроса
Сергей
а можно какую-нибудь ссылку чтобы прямо yield было...

https://github.com/dotnet/runtime/blob/main/src/libraries/System.Linq/src/System/Linq/Take.cs

Anton Motin
https://github.com/dotnet/runtime/blob/main/src/li...

да, я понял) спасибо что заморочился

Похожие вопросы

Обсуждают сегодня

комрады, че-та лыжы не едут var tmpFont: TFont; begin tmpFont:= TFont.Create; try case rgFontColor.ItemIndex of 0: tmpFont.Color:= clWindowText; 1: tmpFo...
Ed Doc
34
Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
Можно вообще написать: Person fName' lName' age'. Тогда действительно имена полей потребуются лишь в строковом виде, чтобы эти fName' и т.д. достать :-) Но разве для этого нуж...
Михаил
8
generic procedure function test<T>(param: T); type case T of longint: NewT = word; longword: NewT = byte; end; var v1: NewT; Как это можно сделать? Чтобы у меня...
notme
21
Делал задачу вот такую https://stepik.org/lesson/4985/step/9?unit=1083 получилось такое https://play.haskell.org/saved/ipKrepqe оно работает, тестов много не писал, но работае...
Fedor
22
преобразовать в число или в один тип?
Alexey Kulakov
11
Hello everyone I am trying to run 4 year old project and I am having this issue anyone can help?
Nitish Garg
10
Всем привет, прошу совета по сложившейся ситуации: Windows приложение подключается к БД MySQL используя Firedac. При работе с версией MySQL 5.7 все отлично, но когда подключаю...
Constantine
6
Всем добрый вечер. Нужна помощь с прикруткой telegram-vapor-bot к проекту Vapor. Удалось после старта приложения отправить тестовое сообщение в бот, вот только сразу после это...
advanc3d
3
program Project1; procedure generic_proc<T>(); begin end; begin generic_proc<Int64>(0); end. Я чет не понял, а как в Delphi сделать такое? процедуру-дженерик... PS: а на...
notme
10
Карта сайта