动态构建Expression表达式树
<div id="cnblogs_post_body">话说.Net已经发展到4.5了,大家对Lambda和Linq应该比较熟悉了。比如我们要取出产品集合里面SKU以"123"开头的产品集,就可以这么写:Products=Products.Where(p=>p.SKUCode.StartWith("123"));
现下有这么个需求,用户输入以逗号分隔的字符串,求取SKU以分隔的字符串开头的产品集,如用户输入"123,234,456",那么就取出SKU以"123"开头或以"234"开头或以"456"开头的产品集合。于是我计上心头,欲以循环解之,无解。为什么呢?因为这里有个关键字&ldquo;或&rdquo;。假如是&ldquo;并&rdquo;需求,我们大可信手拈来,如下:
<div class="cnblogs_code">1 string[] starts = input.Split(',');2 foreach (string start in starts)3 {4 Products = Products.Where(p => p.SKUCode.StartWith(start));5 }
页:
[1]