-1
構造体はC#の値型であり、stringは参照型です。私はメモリ割り当てとマッピングの違いを知っていますが、C#参照型が値型の中にどのように格納されているのかよくわかりません。次の構造の中に文字列があるとしましょう。 構造内の参照型が作成されている場合ヒープ上で構造体がパラメータとして関数に渡されたときにヒープのデータをどのように管理するか。参照型内部.NETの値型
文字列はスタックまたはヒープ上に作成されますか?
私は.NETは構造体の内部POINTCのオブジェクトを管理しない方法を機能させる構造体ポイントのオブジェクトを渡す場合。 PointCがヒープ上に作成された場合、関数にstuctを渡すことは、クラスと同じ記憶を持ちますか?
public class PointC
{
...
...
}
public struct Point
{
PointC obj;
}
文字列がヒープ上にあり、*参照*がスタック上にあると推測します。そのような区別は、C#では一般的に有用ではありません。 – BradleyDotNET
'メモリ割り当てとマッピングの違いを知っています'あなたの質問は、あなたが実際にそのことを知っていないことを示しています。 – Servy
@BradleyDotNET値の型がスタックに入るという考えを広めることは、値の型はスタックには行きません。問題の変数の格納場所がどこにあっても、スタック、ヒープ、またはその両方を含め、どこにでも置くことができます。 – Servy