获取IList<>细节再次过滤

时间:2016-11-09 16:23:32

标签: c# asp.net entity-framework linq-to-sql

您好我从以下查询中获取产品中的数据,但我再次希望过滤产品并将该数据存储在另一个Ilist名称product1中。我写了下面的代码,但是它吸了一口气,可以帮助我吗?

IList<Product> products = ProductDataSource.FindProducts();//store data in list of products

IList<Product> products1 = products.SingleOrDefault(s => s.Visibility == 2)); 

如果Ilist产品被过滤并且过滤后的细节仅保留在自身中,那就足够了。 这样就不需要再宣布一个Ilist为product1

1 个答案:

答案 0 :(得分:2)

Linq方法SingleOrDefault不生成List,它生成单个项目(或null)。

所以它应该是:

Product product = products.SingleOrDefault(s => s.Visibility == 2);

或者如果你需要一个List:

IList<Product> products1 = products.Where(s => s.Visibility == 2).ToList();