Здравствуйте, Ikemefula, Вы писали:
I>>>Правильно — ленивость это итератор. А вот yield это сахар, об чем я тебя пишу давным давно.
S>> Но без этого сахара практически нахрен не нужен Linq. List тоже итератор, но его то нужно нелениво заполнить!
I> Вот еще одно заблуждение. С С++ и джавой ты не знаком?
Ииииииииииииии. Охренительный ответ.
Приводи код!! Знаком и там нет yield там и Linq нет!!
I>>>Ты путаешь рантайм с разработкой.
S>> В чем!!
I>А чуть выше ты соскакиваешь с цены в рантайме на цену в разработке.
I>Например, когда я пишу, что IEnumerable имеет свою цену, ты начинаешь вещать про разработку.
Какую!!! Ты хоть напиши какую!!!
I>>>Похоже, раз я с чем то не согласен, значит я вобще ни с чем не согласен?
S>> Да непонятно с чем ты не согласен!!
I>А ты пробуй читать внимательно.
Да извини но херню ты как раз пишешь. Никакой конкретики
S>>Для тебя yield сахар ненужный и тормозящий. Нужно работать через List я так понимаю.
I>Это нужный сахар. И тем не менее его нельзя использовать бездумно. В числодробилках он может давать конские потери.
Причем тут числодробилки! Ты ратуешь за IQueriable. Вон Sinclair пришпондорил Linq.
Главное как использовать
S>>В нем можно обращаться по индексу, о чем ты так восхищался!
S>>S>>yield сам по себе вносит потери. Неважно, есть лишние циклы, или нет. x[i] заменяется на доступ через итератор. Вот уже проблема.
I>Именно. Профайлер утверждает, что экономия может быть и полтора, и два, и даже десять раз.
Ну то есть ты за выполнение слева направо. Никто
же не заставляет использовать тебя IEnumerablt используй IList и обходись без ленивости.
Только то вот Linq ленив и ленивость эту в основном создает yield с созданием определенных классов автоматов с сохранением состояния