结构中包含结构数组。
请问c中的如下形式在c#里怎么实现?
struct struct1
{
                      ...
} struct struct2
{
                      ...
                      char     c[20];
             struct1   quakepar[3];
}

解决方案 »

  1.   

    struct MyStruct

       public int[] IntArray;
       public string[] StringArray;
    }
      

  2.   

    C 里从来没有定长数组
    数组型都是“引用型”,默认值为 null结构可以初始化,直接赋值,最好还加点构造函数方便新建变量的时候能立刻赋值最符合要求的是struct Struct1 { ... }
    struct Struct2 {
       byte[] c = new byte[20]; // 或者 string c?
       Struct1[] quakepar = new Struct1[3];
    }
      

  3.   


    struct Struct1 { ... }
    struct Struct2 {
       byte[] c = new byte[20];
       struct1[] quakepar = new struct1[3];
    }
      

  4.   

    将struct 换成 class吧
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/csref/html/vcrefStructTypes.htm
      

  5.   

    [结构里不能初始化数组,编译会报错。]那就用构造函数struct Struct2 {
       public byte[] c;
       public Struct1[] quakepar;
       public Struct2() {
         c = new byte[20];
         quakepar = new Struct1[3];
      }
    }
      

  6.   

    竟然有人说C#里没有定长数组?唉,没学好就不要再这误人子弟了。。
    本来不想抬手,唉,无赖实在太过分了!
    C#里都是定长数组,ok?大姐教你了,下次可记住了!!!
    C#里的所谓动态数组其实也是定长的,默认为16个元素,但一旦扩容,arraylist就会翻倍,满足需求,所以为什么链表在C#中很吃香呢?
      

  7.   

    我承认我用错词了我的意思是没有在定义类型的时候就能固定长度的数组不像C里面能定义“char[10] c;”