日期:2014-05-18  浏览次数:20974 次

C#中如何定义结构体中的结构体?
下面是一个C类型的结构体中的结构体,请问这样的类型在C#中应该怎么定义?
struct   ST_COM_HEAD /*报文头定义*/
{
char   TRAN_CODE[4]; /*交易码,输入*/
char   TRAN_ERROR[4]; /*错误码,输出,0000为正常,其他为错误*/
char   TRAN_ROWS[4]; /*返回行数,输出*/
char   TRAN_END_FLAG[1]; /*返回结束标志,输出,1为结束*/
char   TRAN_REMARK[51]; /*备用*/
};

struct   ST_COM_BUFF /*整个报文的定义*/
{
struct   ST_COM_HEAD COM_HEAD; /*报文头*/
char   COM_DETAIL[960]; /*报文体*/
};

struct   ST_COM_CUST_INFO /*针对cust_info的通讯结构定义*/
{
char   CUST_CODE[4]; /*客户号*/
char   CUST_NAME[80]; /*客户名称*/
char   CUST_DATE[9]; /*操作日期*/
char   CUST_TIME[7]; /*操作时间*/
char   CUST_ACC_NO[20]; /*帐户*/
char   CUST_REMARK[80]; /*备注*/
};


------解决方案--------------------
如果你是先请教如何在结构中定义定长数组可以这么做
class test
{
static void Main(string[] args)
{
abb a = new abb();
a.str3 = " ";
a.str4 = " ";
a.aaa.str1 = " ";
}
}
struct abc
{
public abc(int i)
{
c1 = new char[4];
str1= " ";
str2 = " ";
}
public char[] c1;
public string str1;
public string str2;

}
struct abb
{
public string str3;
public string str4;
public abc aaa;
}