| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > Поиск в ObservableCollection |
| Автор: dAlex 15.12.2010, 11:37 | ||||
Что-то никак не соображу, как пользоваться Where. У меня есть коллекция с несколькими полями, мне нужно найти тот элемент, в котором первое поле равно данному;
поиск нужен по Strike; Почитала http://msdn.microsoft.com/en-us/library/bb534803%28v=VS.95%29.aspx?appId=Dev10IDEF1&l=EN-US&k=k%28%22SYSTEM.LINQ.ENUMERABLE.WHERE%60%601%22%29;k%28WHERE%29;k%28TargetFrameworkMoniker-%22.NETFRAMEWORK&k=VERSION=V3.5%22%29;k%28DevLang-CSHARP%29&rd=true, все равно не понимаю, как составлять выражение для поиска =( нужно что-то типа этого:
|
| Автор: CYBERDREAM 15.12.2010, 13:56 | ||
|
| Автор: dAlex 15.12.2010, 14:04 |
| CYBERDREAM, понятно, спасибо =) а как оттуда взять номер it в _strikeCollection? получается тип System.Linq.Enumerable.WhereEnumerableIterator |
| Автор: CYBERDREAM 15.12.2010, 14:09 |
| it в данном случае представляет собой экземпляр StrikeData, надо же как то обращаться к свойству его. Добавлено через 25 секунд покопай в сторону лямбда выражений - от туда ноги растут |
| Автор: dAlex 15.12.2010, 14:16 | ||
| почитаю, спасибо =) пока сделала тупо
|
| Автор: CYBERDREAM 15.12.2010, 14:18 | ||
если нужен элемент один, который попадает под условие то
если не найдет, то temp==null |
| Автор: dAlex 15.12.2010, 15:28 |
| CYBERDREAM, но тогда все равно номер не достать =) или потом делать IndexOf? |
| Автор: CYBERDREAM 15.12.2010, 15:35 | ||||
Добавлено через 1 минуту и 51 секунду либо по старинке:
|
| Автор: dAlex 15.12.2010, 15:42 |
| CYBERDREAM, нет, не в этом смысле =) нашли мы элемент, у которого Strike равен чему-то, и нужно запомнить его номер в коллекции для дальнейших извращений =) |
| Автор: CYBERDREAM 15.12.2010, 15:43 |
| а я разве не это сделал? FindIndex как раз это и делает |
| Автор: dAlex 16.12.2010, 10:26 |
| CYBERDREAM, а, точно, просмотрела чего-то +)) спасибо =) |