ограничить возврат списка. - PullRequest
3 голосов
/ 24 марта 2012

я бы хотел ограничить возврат этого кода:

Listx.AddRange(suggestions.Where(x => x.Contains(content)));

так, что будет добавлено только менее 7 пунктов. попробовал так, но это не так, и довольно медленно, потому что listx содержит до 100 записей.

Listx.AddRange(suggestions.Where(x => x.Contains(content)&&Listx.Count <= 6));

Кто-нибудь получил какие-нибудь советы по улучшению производительности второго фрагмента кода? Он используется каждый раз, когда запускается событие изменения текста в текстовом поле, поэтому не должно задерживать ввод.

1 Ответ

8 голосов
/ 24 марта 2012

Вы можете использовать метод Enumerable. Take , чтобы ограничить результаты любого запроса Linq.

Listx.AddRange(suggestions.Where(x => x.Contains(content)).Take(6));

Если бы вы были знакомы с 101 Samples для Linq , там вы найдете примеры для каждой операции, доступной в инфраструктуре Linq.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...