编组“ uint8_t”得到零内容

时间:2019-11-11 15:51:33

标签: c#

我从编组uint8_t得到数组中的内容0。我无法忘记错误。

C ++:

typedef struct {

    uint8_t tst[64];

} Info_t;

C#:

public struct Info_t
        {


            public byte[] tst;


            public Info_t(bool initializeByteArrays)
            {

                tst=new byte[64];

            }
        }
[DllImport(@"D.dll",  EntryPoint = "connect", ExactSpelling = false)]
public static extern ushort connect(Info_t test);


Info_t dd = new MainForm.Info_t(true);
ushort res = connect(dd);

输出:

dd.tst [0] = 0 ... dd.tst [63] = 0

1 个答案:

答案 0 :(得分:0)

这解决了我的问题;

第二种方法是使用“ out”关键字。因此,当您使用它时,它将自动从非管理内存中返回该值。

Solution