我想限制此代码的返回值:
Listx.AddRange(suggestions.Where(x => x.Contains(content)));
因此,只会添加少于7个项目。尝试过这样的方式,但它感觉不对,而且它非常慢,因为listx包含了100个托管。
Listx.AddRange(suggestions.Where(x => x.Contains(content)&&Listx.Count <= 6));
任何人都有一些提示来改善第二段代码的性能?每次触发文本框的文本更改事件时都会使用它,因此不应该延迟输入。
答案 0 :(得分:8)
您可以使用Enumerable。Take方法限制任何Linq查询的结果。
Listx.AddRange(suggestions.Where(x => x.Contains(content)).Take(6));
如果我是你,你会熟悉101 Samples for Linq,你会在那里找到Linq框架上可用的每个操作的例子。