该产量关键字是其中的一个关键字,在C#是继续迷惑我,而且我正确使用它,我从来没有自信.
以下两段代码中,哪个是首选,为什么?
版本1:使用收益率返回
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
版本2:返回列表
public static IEnumerable<Product> GetAllProducts()
{
using (AdventureWorksEntities db = new AdventureWorksEntities())
{
var products = from product in db.Product
select product;
return products.ToList<Product>();
}
}
Run Code Online (Sandbox Code Playgroud)