0

現時点で私が持っているすべての知識では、ユースケースにどれを使用するかを決めることはできません.

これは構造体の例です。

最初のクラスは次のようになります。

class Owner
{
  public A[] Kids;

  public Owner(int count)
  {
    Kids = new A [count];

    // If I would use classes I would need to create new class for each item, right?
    // It would look like below and my worries are memory impacts because of new A()
    // for(int i = 0; i < count; Kids[i++] = new A());
  }
}

2 番目のクラスは次のようになります。

class Node
{
  private Owner o;
  private int num;
  private A[] kids;

  public Node(Owner o, int num)
  {
   this.o = o;
   this.num = num;
  }

  public A[] Kids
  {
    get
    {
      this.kids = o.Kids[num].NextList;
      return this.kids;
    }
  }
}

タイプAはこんな感じ

<struct or class> A
{
  public int Value;
  public A[] NextList;
}

問題は、構造体を使用すると、クラスを使用する場合よりもアクセスが高速になるかどうかです。

各クラスを初期化する必要があるため、クラスを使用するとメモリのオーバーヘッドが発生しますか?

クラスを使用するときに参照を強制終了する必要がありますか?

この場合、どちらを使用しますか?

これが重複している場合、または何か間違ったことをした場合はお詫び申し上げます。質問を格下げする前に、私が何を間違えたのか教えてください。私はまだこのフォーラムに不慣れです。

4

1 に答える 1