2

現在、C# ref について学習しています。

new で割り当てられたすべての変数は値ではなく参照であると想定しても安全ですか?

例:

SomeType variable = new SomeType()
4

6 に答える 6

4

いいえ:

  • クラスのインスタンスは参照ですが、構造体のインスタンスは値です。
  • クラスと構造体はどちらも new を使用して構築できます

たとえば、System.Drawing.Pointa は a ではありstructませんclass:

Point point = new Point(1, 1); //point is a value, not a reference
于 2009-05-14T04:35:14.683 に答える
3

C# には、参照型 (class キーワードで定義) と値型 (struct キーワードで定義) の 2 種類のオブジェクトがあります。

詳細については、C# に関する優れた本を参照してください。これは重要な概念です。

于 2009-05-14T04:37:02.463 に答える
1

いいえ、値型は参照ではありません。

しかし、他の値型以外の型と 'ref/out' パラメーターを使用すると、それらは参照になります。

于 2009-05-14T04:32:24.783 に答える
1

いいえ。C# では、構造体も new() を使用してインスタンス化されますが、値として扱われます。

于 2009-05-14T04:32:50.477 に答える
0

参照とオブジェクトを混同しているようです。その場合、 new キーワードで作成されるタイプはオブジェクトです。値として扱われる構造を除いて。

于 2009-05-14T04:33:27.977 に答える
0

必ずしも。C# について詳しく学ぶと、参照型であるクラスと値型である構造体があることがわかります。どちらも「new」キーワードを使用してインスタンス化されますが、構造体のインスタンスは参照ではありません。

于 2009-05-14T04:33:56.557 に答える