以下是一个示例 C# 代码,用于定义一个 proto3 消息类型,该类型包含一个 Dictionary<string, List<Dictionary<int, int>>> 字段:

syntax = "proto3";

message MyMessage {
  map<string, List<Entry>> my_map = 1;

  message Entry {
    map<int32, int32> values = 1;
  }
}

使用此 proto3 消息类型在 C# 中生成代码后,可以使用以下代码创建和填充一个 MyMessage 实例:

var message = new MyMessage();
var entry1 = new MyMessage.Entry
{
    Values =
    {
        { 1, 100 },
        { 2, 200 },
        { 3, 300 }
    }
};
var entry2 = new MyMessage.Entry
{
    Values =
    {
        { 4, 400 },
        { 5, 500 }
    }
};
var myList = new List<MyMessage.Entry> { entry1, entry2 };
message.MyMap.Add("key1", myList);

此代码创建一个 MyMessage 实例并向其中添加一个名为 'key1' 的条目,该条目包含两个 Entry 对象,每个 Entry 对象都包含一个包含键值对的字典。

Proto3 消息定义:Dictionary<string, List<Dictionary<int, int>>> 类型 C# 示例

原文地址: https://www.cveoy.top/t/topic/nwG3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录