0

我需要将我的数据结构结构转换/升级为一个类并且有一个问题:我可以像结构一样静态启动我的类吗?如果是这样,任何有关如何做到这一点的指导将不胜感激。下面是我的结构的定义:

typedef struct t
{
   struct t *next;
   int otherfield;
} T

T r1[]={{0,1},{0,2}};
T s1[]={{r1,3},{0,4}};

我转换后的课程看起来像

class T
{
  class T next;
  int otherfield;
}
List<T> r1;
List<T> s1;

如何静态启动 r1、s1。通过构造函数的标准初始化可能不起作用,因为我有数百个这样的结构并且它们都是静态初始化的。

谢谢,

4

1 回答 1

0

你不能只做以下吗?

class T
{
    public T next;
    public int otherfield;
    public T( T next, int otherfield )
    {
        this.next = next;
        this.otherfield = otherfield
    }
}

T[] r1 = new T[]{ new T( null, 1 ), new T( null, 2 ) };
T[] s1 = new T[]{ new T( r1[0], 3 ), new T( null, 4 ) };

编辑:如果你想用 List 来做,那么你可以做以下事情:

List< T > r1 = new List< T >( new T[]{ new T( null, 1 ), new T( null, 2 ) } );
List< T > s1 = new List< T >( new T[]{ new T( r1[0], 3 ), new T( null, 4 ) } );
于 2012-09-09T16:44:33.317 回答