📜  c# 类到字节数组 - C# (1)

📅  最后修改于: 2023-12-03 15:13:52.400000             🧑  作者: Mango

C# 类到字节数组 - C#

在C#编程中,我们通常需要将对象或类转换为字节数组以进行传输或持久化。在本指南中,我们将介绍如何将C#类转换为字节数组,并提供代码示例和解释。

实现

在C#中,可以使用BinaryFormatter类将对象序列化为字节数组。以下是将C#类序列化为字节数组的示例代码:

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable]
class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        Person person = new Person
        {
            FirstName = "John",
            LastName = "Doe",
            Age = 30
        };

        byte[] buffer;
        BinaryFormatter formatter = new BinaryFormatter();
        using (MemoryStream stream = new MemoryStream())
        {
            formatter.Serialize(stream, person);
            buffer = stream.ToArray();
        }
    }
}

上述示例中定义了一个名为Person的类,并在Main方法中创建了一个新的Person对象。然后,创建一个BinaryFormatter实例,使用MemoryStream将Person对象序列化为字节数组,并将字节数组存储在buffer变量中。

解释

在上面的代码示例中,我们采用了以下步骤来将C#类序列化为字节数组:

  1. 定义需要序列化为字节数组的C#类。

  2. 在需要序列化对象的程序中,使用MemoryStream 创建一个内存流对象。

  3. 创建BinaryFormatter实例以序列化对象。BinaryFormatter类是在C#中序列化/反序列化对象的内置类。

  4. 使用BinaryFormatter实例的Serialize方法将对象序列化为二进制流,并将其输出到内存流。

  5. 通过使用内存流的ToArray方法将字节数组赋值到变量中。

结论

在本指南中,我们介绍了如何将C#类序列化为字节数组并提供了代码示例和解释。这是将C#对象传输或持久化的关键步骤之一,希望这个指南对您有所帮助。