Для чего используется ключевое слово yield в C#?
В How Can I Expose Only a Fragment of IList вопрос один из ответов имел следующий фрагмент кода:
IEnumerable<object> FilteredList()
{
foreach( object item in FullList )
{
if( IsItemInPartialList( item )
yield return item;
}
}
что там делает ключевое слово yield? Я видел его ссылки в нескольких местах и еще один вопрос, но я не совсем понял, что он на самом деле делает. Я привык думать о выходе в смысле того, что одна нить уступает другой, но здесь это не кажется уместным.
Comments