c#中Empty()和DefalutIfEmpty()用法分析
本文实例分析了c#中Empty()和DefalutIfEmpty()用法。分享给大家供大家参考。具体分析如下:
在项目中,当我们想获取IEnumerable<T>集合的时候,这个集合有可能是null。但通常的做法是返回一个空的集合。
假设有这样一个场景:当商店不营业时,返回一个空的IEnumerable<Product>,而当商店正常营业时,就返回一个非空的IEnumerable<Product>。
Product模型。
publicclassProduct { publicintId{get;set;} publicstringName{get;set;} publicdecimalPrice{get;set;} }
该商店有一个ProductService类,该类根据属bool类型属性IsClosed来决定是否返回空的IEnumerable<Product>。
publicclassProductService { publicboolIsClosed{get;set;}
privatestaticIEnumerable<Product>GetAllProducts() { returnnewList<Product>() { newProduct(){Id=1,Name="Product1",Price=85M}, newProduct(){Id=2,Name="Product2",Price=90M} }; }
publicIEnumerable<Product>ShowProducts() { if(!IsClosed) { returnGetAllProducts(); } returnnewList<Product>(0); } }