【发布时间】:2010-08-09 19:23:23
【问题描述】:
这与我之前的question 有关,并且认为这将使它成为一个独立的问题,因为它会更有意义。
我已经创建了我的结构:
public struct Smb_Parameters
{
public byte WordCount;
public ushort[] Words;
}
当我尝试获取 Struct 的大小时不分配任何值,它返回 4 字节:
Smb_Parameters smbParameter = new Smb_Parameters();
int len1 = Marshal.SizeOf(smbParameter );
MessageBox.Show(len1.ToString());
但是当我将值分配给结构字段时:
Smb_Parameters smbParameter = new Smb_Parameters();
string myString= "String ll be converted to byte";
smbParameter.WordCount=0x00;
smbParameter .Words=Encoding.ASCII.GetBytes(myString);
int len1 = Marshal.SizeOf(smbParameter );
MessageBox.Show(len1.ToString());
现在仍然显示长度为 4 字节,但我需要更新后的大小。
【问题讨论】:
-
你为什么将字数设置为 0?