現在、C# ref について学習しています。
new で割り当てられたすべての変数は値ではなく参照であると想定しても安全ですか?
例:
SomeType variable = new SomeType()
いいえ:
たとえば、System.Drawing.Point
a は a ではありstruct
ませんclass
:
Point point = new Point(1, 1); //point is a value, not a reference
C# には、参照型 (class キーワードで定義) と値型 (struct キーワードで定義) の 2 種類のオブジェクトがあります。
詳細については、C# に関する優れた本を参照してください。これは重要な概念です。
いいえ、値型は参照ではありません。
しかし、他の値型以外の型と 'ref/out' パラメーターを使用すると、それらは参照になります。
いいえ。C# では、構造体も new() を使用してインスタンス化されますが、値として扱われます。
参照とオブジェクトを混同しているようです。その場合、 new キーワードで作成されるタイプはオブジェクトです。値として扱われる構造を除いて。
必ずしも。C# について詳しく学ぶと、参照型であるクラスと値型である構造体があることがわかります。どちらも「new」キーワードを使用してインスタンス化されますが、構造体のインスタンスは参照ではありません。