日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#使用對象序列化類庫MessasgePack_C#教程

作者:天方 ? 更新時間: 2022-08-20 編程語言

MessagePack是一種高效二進制序列化格式。可以在多種語言中進行快速數據交換,比如JSON格式等。它比Json更加小巧,更加高效,可以用于一些結構化數據存儲 ,非常適合適用于消息總線,MemoryCache等對序列化要求比較高的場合。

MessagePack基本上被大多數主流語言支持,因此用它來作為教程間交換的消息序列化也是一種不錯的方式,本文這里簡單的介紹一下如何在.Net 中使用MessagePack。

首先安裝MessagePack和MessagePackAnalyzer的Nuget包:

Install-Package MessagePack
Install-Package MessagePackAnalyzer

其中MessagePackAnalyzer是可選的,但它可以幫助檢查序列化標記的正確性,還是非常有用的。

如下就是一個簡單的示例,非常簡單,我就不多介紹了。?

// mark MessagePackObjectAttribute
[MessagePackObject]
public class MyClass
{
    // Key is serialization index, it is important for versioning.
    [Key(0)]
    public int Age { get; set; }

    [Key(1)]
    public string FirstName { get; set; }

    [Key(2)]
    public string LastName { get; set; }

    // public members and does not serialize target, mark IgnoreMemberttribute
    [IgnoreMember]
    public string FullName { get { return FirstName + LastName; } }
}

class Program
{
    static void Main(string[] args)
    {
        var mc = new MyClass
        {
            Age = 99,
            FirstName = "hoge",
            LastName = "huga",
        };

        // call Serialize/Deserialize, that's all.
        var bytes = MessagePackSerializer.Serialize(mc);
        var mc2 = MessagePackSerializer.Deserialize<MyClass>(bytes);

        // you can dump msgpack binary to human readable json.
        // In default, MeesagePack for C# reduce property name information.
        // [99,"hoge","huga"]
        var json = MessagePackSerializer.ToJson(bytes);
        Console.WriteLine(json);
    }
}

原文鏈接:https://www.cnblogs.com/TianFang/p/6613372.html

欄目分類
最近更新