Gil*_*man 5 .net c# protobuf-net
我用protobuf-net序列化了一个对象列表.
从理论上讲,.bin文件可以包含数百万个对象.
假设对象属于包含以下内容的类:
public string EventName;
Run Code Online (Sandbox Code Playgroud)
我必须进行查询并创建一个包含与查询匹配的对象的列表.使用LINQ从序列化文件中提取匹配对象的正确方法是什么?
protobuf格式是项目的线性序列; 任何索引等你只能单独申请.但是,IEnumerable<T>可用; 你可能会发现:
var item = Serializer.DeserializeItems<YourType>(source)
.First(item => item.Id == id);
Run Code Online (Sandbox Code Playgroud)
做得很好; 这个:
或者对于多个项目:
var list = Serializer.DeserializeItems<YourType>(source)
.Where(item => item.Foo == foo);
Run Code Online (Sandbox Code Playgroud)
(如果要缓冲内存中的匹配项,请在上面添加ToList,如果只想以前向方式解析一次,则不使用ToList)
| 归档时间: |
|
| 查看次数: |
1188 次 |
| 最近记录: |