我在C++如下的結構定義:翻譯C++結構,以C#
struct check1
{
check1(USHORT vaultLen)
{
size = sizeof(*this->vaultLen) + vaultLen + sizeof(*this->digestKey);
buffer = new UCHAR[size];
this->vaultLen = (USHORT*)buffer;
this->vaultData = buffer + sizeof(vaultLen);
this->digestKey = (UCHAR(*)[8])(buffer + sizeof(vaultLen) + vaultLen);
*(this->vaultLen) = vaultLen;
}
USHORT *vaultLen;
UCHAR *vaultData;
UCHAR (*digestKey)[8];
UCHAR* buffer;
USHORT size;
}
我不希望使用不安全的代碼,所以指針是不允許的。什麼是C#中的等效結構?定義爲指針的成員是否實際佔用空間?
關於如何使用這個結構體,這個結構體的一個對象被創建並且它的大小成員被傳遞給一個int。
您可以將其轉換爲某種格式,例如JSON或XML。但是指針佔用空間,通常是32或64位,基於你的架構。 – clcto
你想要一個等效的C#結構,一個互操作類或其他東西嗎? –
一個等效的C#結構 –