C#でProtocol Buffers (protobuf) を使う方法【入門】

在C#中使用protobuf主要分为两个步骤:定义消息格式和序列化/反序列化消息。

1、メッセージフォーマットを定義します:メッセージフォーマットは、通常、.protoファイルでProtobuf言語を使用して定義されます。例えば、簡単なメッセージフォーマットを以下に示します。

syntax = "proto3";

message Person {
  string name = 1;
  int32 id = 2;
}

C#でのメッセージのシリアライズ/デシリアライズ:protobufライブラリを使用してメッセージのシリアライズおよびデシリアライズを行います。最初にprotobufライブラリをインストールする必要があります。Google.ProtobufライブラリをNuGetパッケージマネージャーを通じてインストールすることができます。

using Google.Protobuf;
using System.IO;

// 序列化消息
Person person = new Person
{
    Name = "Alice",
    Id = 123
};

using (MemoryStream stream = new MemoryStream())
{
    person.WriteTo(stream);
    byte[] bytes = stream.ToArray();
}

// 反序列化消息
using (MemoryStream stream = new MemoryStream(bytes))
{
    Person newPerson = Person.Parser.ParseFrom(stream);
    Console.WriteLine($"Name: {newPerson.Name}, Id: {newPerson.Id}");
}

上記の手順を経ることで、C#でprotobufを使用してメッセージの直列化と逆直列化を実現することができます。

bannerAds