如何从 RepeatedField 转到列表或数组?

How to go from RepeatedField to a list or array?

我有一个 RepeatedField,我需要将其转换为 .NET 列表或数组。

如何做到这一点? 有没有比获取每个元素并使用 forEach 放入新列表更好的方法?在处理庞大的数据集时,这似乎对性能造成了很大的影响。

例如, 我希望它成为一个

List<string>
message keysList {
    repeated string keys = 1;
}

可以选择使用 protobuf-net 吗?由于它是代码优先的,所以你可以做你想做的事:

[ProtoContract]
class Whatever {
    [ProtoMember(1)]
    public List<string> TheData {get;set;}
}