我最近不得不寻找最初由Google开发的Protocol Buffers库的C#移植.猜猜看,我在这里发现了两个知名人士拥有的两个项目:由Jon Skeet编写的protobuf-csharp-port和由Marc Gravell编写的protobuf-net.我的问题很简单:我必须选择哪一个?
我非常喜欢Marc的解决方案,因为在我看来,我更接近C#philisophy(例如,你可以只添加属性到现有类的属性),看起来它可以支持.NET内置类型,如System.Guid.
我相信他们两个都是很棒的项目,但你的意见是什么?
我正在开发一个C#类,其中我需要能够接受一个字节数组并将其复制到相同大小的通用变量.在C/C++中,这样的事情(复制)会很容易,但在C#中并没有那么多.
MyClass<T>
{
public T Value = default(T);
public MyClass(byte[] bytes)
{
// how to copy `bytes` into `Value`?
}
}
Run Code Online (Sandbox Code Playgroud)
我宁愿不使用拳击.有没有办法使用编组,反射或非托管/不安全代码?
我确实找到了这个其他帖子,但唯一建议的答案是行不通的,因为它使用拳击.
好吧,在任何人试图将其标记为重复之前,我不是要求字符串到字节数组.我想要一个字符串数组,包含类似这样的东西:{"5","168","188","28","29","155"}转换为字节数组.我已经搜索过,并且只能找到字符串到字节数组,这是完全不同的.谢谢.
编辑:将预设数组,以便通过byte.Parse可以解析每个成员,因此这不是问题.