Me preguntaba si hay concurrencia (actual o futura), o beneficio en el rendimiento al usar rendimiento devuelto sobre la devolución de una lista. Ver los siguientes ejemplosSimultaneidad o rendimiento Beneficios del rendimiento sobre la devolución de una lista
Procesamiento Método
void Page_Load()
{
foreach(var item in GetPostedItems())
Process(item);
}
usando retorno rendimiento
IEnumerable<string> GetPostedItems()
{
yield return Item1.Text;
yield return Item2.Text;
yield return Item3.Text;
}
devolviendo una lista
IEnumerable<string> GetPostedItems()
{
var list = new List<string>();
list.Add(Item1.Text);
list.Add(Item2.Text);
list.Add(Item3.Text);
return list;
}
Sería divertido depurar un bloque iterador ('yield') que se inicializó con pereza (' Lazy 'y asynchronosly (' async') ejecutado :) –
nawfal