1

このようにコンストラクタを定義できますか? 追加の質問: クラスのコンストラクターをコンストラクター内で呼び出すことはできますか?

class SubArray
{
    List<int> array;
    string parent;
    string name;
    SubArray child;

    public SubArray(SubArray child, string name)
    {
        this.child = child;
        List<int> array = new List<int>();
        this.name = name;
    }
}
4

2 に答える 2

12

制限はありませんが、他の再帰と同様に、停止条件が必要です。そうしないと、スタック オーバーフローが発生します (PUN の意図:))。

于 2013-02-13T13:17:47.547 に答える
4

私はあなたがこのようなことをすることができると思います、そして、明らかな問題はありません:

public SubArray(SubArray child, string name)
{
    this.child = child;
    this.array = new List<int>();
    this.name = name;

    if (child != null && child.child != null)
    {
        this.child.child = new SubArray(child.child,name);
    }
}
于 2013-02-13T13:18:36.810 に答える