您好我从以下查询中获取产品中的数据,但我再次希望过滤产品并将该数据存储在另一个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
答案 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();