現時点で私が持っているすべての知識では、ユースケースにどれを使用するかを決めることはできません.
これは構造体の例です。
最初のクラスは次のようになります。
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;
}
問題は、構造体を使用すると、クラスを使用する場合よりもアクセスが高速になるかどうかです。
各クラスを初期化する必要があるため、クラスを使用するとメモリのオーバーヘッドが発生しますか?
クラスを使用するときに参照を強制終了する必要がありますか?
この場合、どちらを使用しますか?
これが重複している場合、または何か間違ったことをした場合はお詫び申し上げます。質問を格下げする前に、私が何を間違えたのか教えてください。私はまだこのフォーラムに不慣れです。