这篇文章介绍了C#使用对象序列化类库MessasgePack的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
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);
    }
}到此这篇关于C#使用对象序列化类库MessasgePack的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持得得之家。
				 沃梦达教程
				
			本文标题为:C#使用对象序列化类库MessasgePack
				
        
 
            
        
             猜你喜欢
        
	     - Unity Shader实现模糊效果 2023-04-27
 - Unity3D实现渐变颜色效果 2023-01-16
 - C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
 - Oracle中for循环的使用方法 2023-07-04
 - c# 模拟线性回归的示例 2023-03-14
 - user32.dll 函数说明小结 2022-12-26
 - 在C# 8中如何使用默认接口方法详解 2023-03-29
 - 如何使用C# 捕获进程输出 2023-03-10
 - WPF使用DrawingContext实现绘制刻度条 2023-07-04
 - .NET CORE DI 依赖注入 2023-09-27
 
						
						
						
						
						
				
				
				
				