The protobuf format is a linear sequence of elements; any indexing, etc., you can apply only separately. However IEnumerable<T>available; You may find that:
var item = Serializer.DeserializeItems<YourType>(source)
.First(item => item.Id == id);
does work beautifully; this:
:
var list = Serializer.DeserializeItems<YourType>(source)
.Where(item => item.Foo == foo);
( ToList , ToList, )