Bu kod verildiğinde:
IEnumerable<object> FilteredList()
{
foreach( object item in FullList )
{
if( IsItemInPartialList( item ) )
yield return item;
}
}
Neden sadece bu şekilde kodlamamalıyım ?:
IEnumerable<object> FilteredList()
{
var list = new List<object>();
foreach( object item in FullList )
{
if( IsItemInPartialList( item ) )
list.Add(item);
}
return list;
}
yield
Anahtar kelimenin ne yaptığını anlıyorum . Derleyiciye belirli bir şey (bir yineleyici) oluşturmasını söyler. Ama neden kullanıyorsunuz? Biraz daha az kod olmasının yanı sıra, benim için ne yapar?
FullList.Where(IsItemInPartialList)
:)