Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в ObservableCollection, не разобраться с Where 
V
    Опции темы
dAlex
Дата 15.12.2010, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Что-то никак не соображу, как пользоваться Where. У меня есть коллекция с несколькими полями, мне нужно найти тот элемент, в котором первое поле равно данному;
Код

public class StrikeData
        {
            public int Strike { get; set; }
            ....
            public int PosBuy { get; set; }
            public int PosSell { get; set; }
        }
ObservableCollection<StrikeData> _StrikeCollection = new ObservableCollection<StrikeData>()


поиск нужен по Strike;

Почитала мсдн, все равно не понимаю, как составлять выражение для поиска =(
нужно что-то типа этого:
Код

if(_StrikeCollection[i].Strike  == my_strike) ...

--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
CYBERDREAM
Дата 15.12.2010, 13:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



Код

var temp = _strikeCollection.Where(it => it.Strike == 2);

||
var temp1 = from t in _strikeCollection
            where t.Strike == 2
            select t;



--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
dAlex
Дата 15.12.2010, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



CYBERDREAM, понятно, спасибо =)
а как оттуда взять номер it в _strikeCollection? получается тип System.Linq.Enumerable.WhereEnumerableIterator

Это сообщение отредактировал(а) dAlex - 15.12.2010, 14:13
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
CYBERDREAM
Дата 15.12.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



it в данном случае представляет собой экземпляр StrikeData, надо же как то обращаться к свойству его.

Добавлено через 25 секунд
покопай в сторону лямбда выражений - от туда ноги растут


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
dAlex
Дата 15.12.2010, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



почитаю, спасибо =)
пока сделала тупо
Код

for (i = 0; i < _StrikeCollection.Count(); i++)
                    if (_StrikeCollection[i].Strike == my_strike)
                        break;

--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
CYBERDREAM
Дата 15.12.2010, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



если нужен элемент один, который попадает под условие то

Код

StrikeData temp = _strikeCollection.Where(it => it.Strike == 2).FirstOrDefault();


если не найдет, то temp==null


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
dAlex
Дата 15.12.2010, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



CYBERDREAM, но тогда все равно номер не достать =) или потом делать IndexOf?
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
CYBERDREAM
Дата 15.12.2010, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



Код

int index = _strikeCollection.FindIndex(it => it.Strike == 457);


Добавлено через 1 минуту и 51 секунду
либо по старинке:
Код

int i;
for (i = 0; i < _strikeCollection.Count && _strikeCollection[i].Strike != 457; i++) ;



--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
dAlex
Дата 15.12.2010, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



CYBERDREAM, нет, не в этом смысле =) нашли мы элемент, у которого Strike равен чему-то, и нужно запомнить его номер в коллекции для дальнейших извращений =)
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
CYBERDREAM
Дата 15.12.2010, 15:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



а я разве не это сделал?
FindIndex как раз это и делает

Это сообщение отредактировал(а) CYBERDREAM - 15.12.2010, 15:43


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
dAlex
Дата 16.12.2010, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 3.8.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 2



CYBERDREAM, а, точно, просмотрела чего-то +)) спасибо =)
--------------------
eof()
PM WWW ICQ GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0543 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.