Возможно ли использовать yield
встроенный метод ForEach
?foreach vs ForEach с использованием урожая
private static IEnumerable<string> DoStuff(string Input)
{
List<string> sResult = GetData(Input);
sResult.ForEach(x => DoStuff(x));
//does not work
sResult.ForEach(item => yield return item;);
//does work
foreach(string item in sResult) yield return item;
}
Если нет, есть ли причина, по которой он не работает?
Посмотрите на: http://stackoverflow.com/q/1217729/1859022 – user1859022
Во-первых, * Зачем использовать этот синтаксис вместо '.Select (x => DoStuff (x))'? Во-вторых, 'ForEach' не возвращает результат, поэтому попытка вернуть что-либо с' return' или 'yield' недействительна –
@PanagiotisKanavos' Select' не работает в сочетании с рекурсивным подходом – fubo