首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将二进制数据直接写入结构体的C#/ .net等价物是什么?

将二进制数据直接写入结构体的C#/ .net等价物是BinaryReaderBinaryWriter

BinaryReaderBinaryWriter是C#中用于处理二进制数据的类,它们可以将二进制数据直接写入结构体。BinaryReader用于读取二进制数据,而BinaryWriter用于写入二进制数据。

以下是一个简单的示例,演示如何使用BinaryReaderBinaryWriter将二进制数据直接写入结构体:

代码语言:csharp
复制
using System;
using System.IO;

public struct MyStruct
{
    public int IntValue;
    public float FloatValue;
    public string StringValue;
}

public class Program
{
    public static void Main()
    {
        MyStruct myStruct;
        myStruct.IntValue = 123;
        myStruct.FloatValue = 456.789f;
        myStruct.StringValue = "Hello, World!";

        using (MemoryStream memoryStream = new MemoryStream())
        {
            using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
            {
                binaryWriter.Write(myStruct.IntValue);
                binaryWriter.Write(myStruct.FloatValue);
                binaryWriter.Write(myStruct.StringValue);
            }

            memoryStream.Position = 0;

            using (BinaryReader binaryReader = new BinaryReader(memoryStream))
            {
                myStruct.IntValue = binaryReader.ReadInt32();
                myStruct.FloatValue = binaryReader.ReadSingle();
                myStruct.StringValue = binaryReader.ReadString();
            }
        }

        Console.WriteLine($"IntValue: {myStruct.IntValue}");
        Console.WriteLine($"FloatValue: {myStruct.FloatValue}");
        Console.WriteLine($"StringValue: {myStruct.StringValue}");
    }
}

在这个示例中,我们首先创建了一个名为MyStruct的结构体,并在其中定义了三个成员变量:IntValueFloatValueStringValue。然后,我们使用BinaryWriter将这些成员变量的值写入到一个内存流中。接下来,我们使用BinaryReader从内存流中读取这些值,并将它们赋给结构体的成员变量。最后,我们将结构体的成员变量打印到控制台上。

这种方法可以让我们方便地将二进制数据直接写入结构体,而不需要手动处理每个成员变量的读写操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券