Как выбрать конкретный элемент из BindingList <KeyValuePair <строка, строка >>? - PullRequest
0 голосов
/ 19 июня 2011
BindingList<KeyValuePair<string, string>> properties = new BindingList<KeyValuePair<string, string>>();

Код выше хранит около 10-30 объектов as KeyValuePair<string, string>

Мне нужно как-то выбрать элемент, скажем, с ключом "id"

Как мне это сделать?

Ответы [ 2 ]

5 голосов
/ 19 июня 2011
properties.Select(k => k.Key == "id").FirstOrDefault();
0 голосов
/ 08 октября 2015

BindingList напрямую не реализует IEnumerable, поэтому FirstOrDefault() (LINQ to objects) не будет работать даже при использовании System.Linq. Вы должны предназначаться для основной коллекции. У меня сработало следующее:

var myObject = ( (IEnumerable<SomeObjectType>) myBindingSource.List ).FirstOrDefault( d => d.SomeProperty == "some property value" );
...