BindingList<KeyValuePair<string, string>> properties = new BindingList<KeyValuePair<string, string>>();
Код выше хранит около 10-30 объектов as KeyValuePair<string, string>
as KeyValuePair<string, string>
Мне нужно как-то выбрать элемент, скажем, с ключом "id"
Как мне это сделать?
properties.Select(k => k.Key == "id").FirstOrDefault();
BindingList напрямую не реализует IEnumerable, поэтому FirstOrDefault() (LINQ to objects) не будет работать даже при использовании System.Linq. Вы должны предназначаться для основной коллекции. У меня сработало следующее:
BindingList
IEnumerable
FirstOrDefault()
System.Linq
var myObject = ( (IEnumerable<SomeObjectType>) myBindingSource.List ).FirstOrDefault( d => d.SomeProperty == "some property value" );