范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

当。NET遇上gRPCProtobuf与C数据类型对应表

  gRPC 使用 Protobuf 作为其接口定义语言 (IDL)。 消息是 Protobuf 的主要数据传输对象。 它们在概念上类似于 .NET 类。 syntax = "proto3";  option csharp_namespace = "Contoso.Messages";  message Person {     int32 id = 1;     string first_name = 2;     string last_name = 3; }
  前面的消息定义将三个字段指定为名称/值对。 与 .NET 类型上的属性类似,每个字段都有名称和类型。 字段类型可以是 Protobuf 标量值类型(如 int32),也可以是其他消息。
  Protobuf 样式指南建议使用 underscore_separated_names 作为字段名称。 为 .NET 应用创建的新 Protobuf 消息应遵循 Protobuf 样式准则。 .NET 工具会自动生成使用 .NET 命名标准的 .NET 类型。 例如,first_name Protobuf 字段生成 FirstName .NET 属性。 值类型对应表
  .proto 类型
  C# 类型
  备注
  double
  double
  float
  float
  int32
  int
  使用可变长编码方式。编码负数时不够高效——如果你的字段可能含有负数,那么请使用sint32。
  int64
  long
  使用可变长编码方式。编码负数时不够高效——如果你的字段可能含有负数,那么请使用sint64。
  uint32
  uint
  uint64
  ulong
  sint32
  int
  使用可变长编码方式。有符号的整型值。编码时比通常的int32高效。
  sint64
  long
  使用可变长编码方式。有符号的整型值。编码时比通常的int64高效。
  fixed32
  uint
  fixed64
  ulong
  sfixed32
  int
  总是4个字节。
  sfixed64
  long
  总是8个字节。
  bool
  bool
  string
  string
  bytes
  ByteString
  可能包含任意顺序的字节数据
  值类型始终具有默认值,并且该默认值不能设置为 null  。此项约束包括string  和ByteString  ,他们都属于 C# 类。string  默认为空字符串,ByteString  默认为空字节值。尝试将他们设置为null  会引发错误。可为 null 的类型
  C# 的 Protobuf 代码生成使用本地类型,如  int   表示 int32  。 因此这些值始终包括在内,不能为 null  。
  对于需要显式 null 的值(例如在 C# 代码中使用 int?),Protobuf 的"已知类型"包括编译为可以为 null 的 C# 类型的包装器。 若要使用它们,请将 wrappers.proto 导入到 .proto 文件中,如以下代码所示: syntax = "proto3";  option csharp_namespace = "Contoso.Messages";  message Person {     int32 id = 1;     string first_name = 2;     string last_name = 3; }
  wrappers.proto 类型不会在生成的属性中公开。 Protobuf 会自动将它们映射到 C# 消息中相应的可为 null 的 .NET 类型。 例如,google.protobuf.Int32Value 字段生成 int? 属性。 引用类型属性(如 string 和 ByteString )保持不变,但可以向它们分配 null,这不会引发错误。
  C# 类型
  类型包装器
  bool?
  google.protobuf.BoolValue
  double?
  google.protobuf.DoubleValue
  float?
  google.protobuf.FloatValue
  int?
  google.protobuf.Int32Value
  long?
  google.protobuf.Int64Value
  uint?
  google.protobuf.UInt32Value
  ulong?
  google.protobuf.UInt64Value
  string
  google.protobuf.StringValue
  ByteString
  google.protobuf.BytesValue  集合列表
  Protobuf 中,在字段上使用 repeated 前缀关键字指定列表。 message Person {     // ...     repeated string roles = 8; }
  在生成的代码中, repeated   字段由 Google.Protobuf.Collections.RepeatedField   泛型类型表示。public class Person {     // ...     public RepeatedField Roles { get; } }
  RepeatedField 实现了 IList 接口,因此可以应用 LINQ 查询,或者将其转换为数组或列表。 RepeatedField 属性没有公开的设置器,所以他在内部保证了不可为空。需要向其中添加数据时调用 Add 方法即可: var person = new Person();  // Add one item. person.Roles.Add("user");  // Add all items from another collection. var roles = new [] { "admin", "manager" }; person.Roles.Add(roles);字典
  .NET IDictionary 类型在 Protobuf 中使用 map 表示。 message Person {     // ...     map attributes = 9; }
  在生成的 .NET 代码中,map 字段由 Google.Protobuf.Collections.MapField 泛型类型表示。 MapField  实现了 IDictionary  接口。 与 repeated 属性一样,map 属性没有公开的设置器 。 var person = new Person();  // Add one item. person.Attributes["created_by"] = "James";  // Add all items from another collection. var attributes = new Dictionary {     ["last_modified"] = DateTime.UtcNow.ToString() }; person.Attributes.Add(attributes);当 .NET 遇上 gRPC:Protobuf 与 C# 数据类型对应表
  查看原文: 当 .NET 遇上 gRPC:Protobuf 与 C# 数据类型对应表-码农很忙

月是故乡圆又是一年中秋节。都说近乡情怯,但对于因为疫情两年没有机会近乡的人来说,每逢佳节倍思亲似乎更能准确地表达此时此刻的心情。尤其对于沪漂北漂来说,日复一日的在大都市努力地活着,看惯了白天祝贺神州十二号返回舱顺利着陆目录飞船是怎样返回的此次飞行任务有哪些目的写在最后2021年9月17日,伴随着一片尘土飞扬,神州十二号载人飞船返回舱在东风着陆场预定的区域内安全着陆,三名航天员聂海胜刘伯明汤洪波报从咖啡商的非洲梦,看雨花区中非商港的未来来长沙,去哪打卡?以前,直奔岳麓山与橘子洲感受湖湘文化,然后登上IFS国金中心的空中雕塑花园拍照打卡,最后再去附近的坡子街太平街感受长沙生活气息,是许多游客朋友们的必走路线。图长沙阔别港股五年的匹克体育,拿下3亿美元融资后回A股有望吗?匹克体育,回A股的动作慢了些。据报道,匹克体育日前完成一笔3亿美元融资,同时预计将于明年递交首份A股申报材料。但在2016年从港股退市后,匹克体育就曾召开过回归A股发展论坛筹备上市谁还在用应用宝?手机自带了应用商店,谁还会再多下个应用宝?这是在问及是否会使用第三方应用商店这个问题时,大部分用户都会回答的一句话。第三方应用商店,似乎越来越不受用户待见。这一趋势让以应用宝为首的社区团购热潮退却,谁是电商卖菜接盘侠?是人是鬼,日久见分晓。风风火火的社区团购,随着监管利刃的到来补贴大战的叫停,最终沉寂下来。巨头们开始纷纷逃离,十荟团寻不到融资同程生活关停橙心优选传被并入京东体系美菜网缩减战线炙手腾讯再一次被推到风口浪尖,游戏行业何去何从?最近,腾讯游戏的王者荣耀被央视点名,早该点名了好吗,不仅要点名,还应该整治游戏行业的乱象啊,游戏行业有那些乱象想呢,未来游戏怎么样发展呢,何去何从?坦白说我,我不玩游戏,也不喜欢玩劲霸男装四十年真男人成老男人还能如何劲霸?男装生意,好做也不好做。长期以来,国内女装市场的竞争格外激烈,不单有海外大牌VEROMODAONLY虎视眈眈,还有国内品牌雅莹哥弟珂莱蒂尔等多方围堵而男装市场竞争激烈程度略小,长期帮帮抢,能靠9。9拼团抢过拼多多?9。9拼团,能再造出一个拼多多吗?有这么一款软件,可以花费0。18。89。9不等价格拼团到一份螺蛳粉或者奶茶等而用户则只需要邀请人拼单或者互助即可完成购买,进而再到线下门店内用券码求变的名创优品,困于求变零售的商业逻辑究竟是什么?日本新经营之神铃木敏文曾写道不断地改善实体店铺的产品品质和服务价值,因为这才是零售业的根本所在。现如今,消费已经发生了巨大的变化,从茶饮到餐饮,从零食到零点亮长沙夜间经济,颐而康如何成为新晋网红打卡点?昼短苦夜长,何不秉烛游?快节奏的工作生活,迫使人们只能在夜间释放压力,经济活动也由此延伸至夜晚,从而诞生出庞大规模的夜间经济。从宏观层面来看,夜间经济是衡量一座城市经济文化与生活水
备用机是什么?要怎么选呢?备用机顾名思义,就是另外一台备用的手机(能达到手机的功能的设备亦可,如平板等)。通常是主力机出现问题后,临时用备用机一段时间。当然有的人可能是主力机和备用机一起用,尤其是一部安卓一中国芯的困境设计封测达到5nm,但制造困在14nm无法前进这一两年最火的科技产业是什么,也许有人会说是5G是无宇宙,但这些与芯片比起来,都不算什么。2020年国内新增芯片企业2万多家,而今年截止至3季度末,已经新增芯片企业3万多家,去年和第一篇elasticsearch问题以及解决方案本文基于elasticsearch版本7。10编写而成。1脚本更新对象数组中的某个属性值。说下背景,业务方有需求说,商品图片开启了CDN加速,之前的图片域名都要修改,数据库中的图片win10系统,哪个版本最好用?windows10系统最好用版本介绍自2020年1月14日开始,微软公布宣布终止对win7系统的支持,那麼之后将不容易对win7系统开展安全修复和升级。而再次应用win7系统可能巨大的增加病毒感染和故意软件进攻的风险RedmiK40好不好用,看性能就知道凭借骁龙870LPDDR5内存UFS3。1闪存这最具性价比的配置,RedmiK40成为目前互联网热度最高的手机之一,也成了小姐姐手中的真香机。这个组合在性能和发热方面优势明显,几乎E拆解红米Note11Pro有13的芯片来自联发科21年余额不足了,接着又要迎来新年度旗舰了。每个品牌产品线众多,拆解快跟不上脚步了。现在分享红米Note11Pro拆解内容还有人看吗?红米一直主打高性价比,价格位于千元左右,属于非小黄鱼215元淘到全新小主机中兴CT340超低功耗,就是这性能拉胯创作立场声明本文所有商品为自费购入。如参加张大妈家的活动获得,我会在文中点明。坚持独立的评价观点是笔者创作的基本底线,绝不会因商品来源不同而有所偏颇,请各位放心。今天给大家介绍中兴34岁河南小哥辞了公务员,一个人到重庆跑滴滴,我却莫名有点羡慕Hello,大家好,老陈又来跟大家分享司机故事了。最近老陈为了给大家收罗重庆滴滴司机的故事,还特意加入了一个球队,周末休息的时候,一些司机会约到打球,我也跟到去打了两次,认识了很多2022年ai安全市场规模及ai安全行业报告分析AI安全行业前景AI安全行业现状如何?国际标准化组织(ISO)开展了人工智能系统生命周期过程标准项目,将人工智能系统全生命周期概括为初始ai安全设计研发检验验证部署运行监控持续验证字节阿里微软等等笔试Top20都有这些,10年刷题经验分享前言数据结构和算法可以让程序员脱胎换骨,刷算法题可以帮助我们通过面试和笔试,找到梦寐以求的工作,进入一线大厂或者拿高薪。怎么刷题呢?LeetCode上有2000多道题目,难道要全部设计心理学之人工智能美唐纳德A诺曼设计心理学4未来设计读书心得近年来不断有人讨论或者担忧,未来人工智能会否取代人类成为地球主宰,人类成为机器人的奴隶?今年元宇宙爆发,或许更增加了部分人类的担忧,虚拟世