たとえば、2 つの float プロパティを含む非常に小さなオブジェクトが必要で、すぐに「破棄」されない数百万のオブジェクトが必要な場合、構造体またはクラスはより良い選択ですか?
ライブラリとしての xna のように、構造体として point3 などがありますが、それらの値を長期間保持する必要がある場合、パフォーマンス上の脅威となるでしょうか?
原則として、同じタイプのエイリアスされていない(つまり共有されていない)データの大きな配列は、間接参照の数を減らすため、パフォーマンスのために構造体に格納するのが最適です。(when-are-structs-the-answerも参照してください)。クラスと構造体の正確なパフォーマンスの違いは、使用法によって異なります。(たとえば、操作では、構造体の一部にのみアクセスしますか?多くの一時的なコピーを行いますか?構造体が小さい場合は常に使用する方が良いでしょうが、大きい場合は、一時的なコピーを作成すると速度が低下する可能性があります。不変にするために、値を変更するには常にすべてをコピーする必要があります。)
疑わしい場合は、測定してください。
このような測定では明らかにならない可能性のある長期的な影響に関心があるため、このような配列はラージオブジェクトヒープに格納されている可能性があり、破棄して再割り当てするのではなく、再利用する必要があることに注意してください。(CRL Inside Out:Large Object Heap Uncoveredを参照してください。)
呼び出しでより大きなサイズの構造体を渡すときは、コピーを避けるためにref引数を付けて渡すことをお勧めします。