亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

vb.net 結構體 byte數組相互轉換

小億
107
2023-12-19 05:25:52
欄目: 編程語言

在VB.NET中,可以使用Marshal類的PtrToStructure方法來將字節數組轉換為結構體,使用Marshal類的StructureToPtr方法將結構體轉換為字節數組。

以下是一個示例代碼:

Imports System.Runtime.InteropServices

Structure MyStruct
    Public Field1 As Integer
    Public Field2 As Double
    ' 定義其他字段...
End Structure

Public Class Program
    Public Shared Sub Main()
        ' 創建結構體實例
        Dim myStruct As New MyStruct()
        myStruct.Field1 = 10
        myStruct.Field2 = 3.14

        ' 將結構體轉換為字節數組
        Dim size As Integer = Marshal.SizeOf(myStruct)
        Dim buffer(size - 1) As Byte
        Dim ptr As IntPtr = Marshal.AllocHGlobal(size)
        Marshal.StructureToPtr(myStruct, ptr, False)
        Marshal.Copy(ptr, buffer, 0, size)
        Marshal.FreeHGlobal(ptr)

        ' 將字節數組轉換為結構體
        Dim myStruct2 As MyStruct = New MyStruct()
        Dim ptr2 As IntPtr = Marshal.AllocHGlobal(size)
        Marshal.Copy(buffer, 0, ptr2, size)
        myStruct2 = DirectCast(Marshal.PtrToStructure(ptr2, GetType(MyStruct)), MyStruct)
        Marshal.FreeHGlobal(ptr2)

        ' 輸出結果
        Console.WriteLine($"Field1: {myStruct2.Field1}")
        Console.WriteLine($"Field2: {myStruct2.Field2}")
    End Sub
End Class

這個示例中,首先創建了一個包含兩個字段的結構體MyStruct。然后,將結構體實例轉換為字節數組,再將字節數組轉換為結構體實例,并輸出結果。

請注意,這里使用的Marshal類來進行字節數組和結構體之間的轉換。另外,需要引入命名空間System.Runtime.InteropServices。

0
双柏县| 芦溪县| 本溪市| 张家口市| 凤台县| 湘潭县| 凉山| 北川| 资源县| 通城县| 阿拉善左旗| 瑞安市| 嘉义市| 武穴市| 柏乡县| 固始县| 读书| 华容县| 兴仁县| 潜山县| 陕西省| 新巴尔虎左旗| 合山市| 五家渠市| 信丰县| 潍坊市| 遂溪县| 邵阳县| 兴文县| 叙永县| 仁寿县| 福泉市| 清原| 扎囊县| 疏附县| 洱源县| 古蔺县| 常德市| 泉州市| 固原市| 开封县|