嗨,我已經在C#中編寫了一個嵌套結構。請看下面的代碼片段:如何將值分配給嵌套結構中的主/父結構?
public struct SMB_MESSAGE
{
#region SMB Parameter
public struct SMB_PARAMETERS
{
public byte WordCount;
public ushort[] Words;
}
#endregion
#region SMB Data
public struct SMB_DATA
{
public ushort ByteCount;
public struct Bytes
{
public ushort BufferFormat;
public byte[] Name;
}
}
#endregion
}
現在雖然我賦值給內部結構如下圖所示:
SMB_MESSAGE SMBMESSAGE;
SMB_MESSAGE.SMB_PARAMETERS SMBPARAMETER;
SMBPARAMETER.WordCount=12;
SMBPARAMETER.Words=null;
SMB_MESSAGE.SMB_DATA SMBDATA;
SMBDATA.ByteCount=byteCount;
SMB_MESSAGE.SMB_DATA.Bytes bytes;
bytes.BufferFormat=bFormat;
bytes.Name=name;
現在,當我看着SMBMESSAGE的價值,同時調試它顯示NameSpace.Form1.SMB_MESSAGE
無裏面的值。我也看不到一種方法來將值設置爲SMBMESSAGE
。
如果我們不能分配值,那麼爲什麼我們需要使用嵌套結構?
你'struct'名稱是太可怕了。 – SLaks 2010-08-06 05:35:26
@SLaks,我想知道爲什麼? – Simsons 2010-08-06 05:37:53
絕對不應該在C#中使用全部大寫。相反,您應該將它們命名爲Message,MessageParameter,MessageData和DataBytes。 – SLaks 2010-08-06 05:41:29