Uso apropiado de 'rendimiento de rendimiento'
losrendimiento la palabra clave es una de esaspalabras clave en C # eso continúa desconcertándome, y nunca he estado seguro de que lo estoy usando correctamente.
De los siguientes dos códigos, ¿cuál es el preferido y por qué?
Versión 1: Usando rendimiento de rendimiento
public static IEnumerable<Product> GetAllProducts()
{
using (AdventureWorksEntities db = new AdventureWorksEntities())
{
var products = from product in db.Product
select product;
foreach (Product product in products)
{
yield return product;
}
}
}
Versión 2: Devuelve la lista
public static IEnumerable<Product> GetAllProducts()
{
using (AdventureWorksEntities db = new AdventureWorksEntities())
{
var products = from product in db.Product
select product;
return products.ToList<Product>();
}
}