のオブジェクトがSystem.ValueTypeから継承されていないということは、定義上参照する必要があります。System.ValueTypeから継承しないオブジェクトはすべて参照型ですか?
この概念をバックアップするための決定的な文書は見つかりませんでした。
のオブジェクトがSystem.ValueTypeから継承されていないということは、定義上参照する必要があります。System.ValueTypeから継承しないオブジェクトはすべて参照型ですか?
この概念をバックアップするための決定的な文書は見つかりませんでした。
thisが役立つかどうかを確認します。あなたが密接に読めば
'System.ValueType'も' System.Object'から継承します。したがって、このロジックでは、すべての値型が参照型です。 –
(AkharRoopグラフィックを含めるように編集した後、コメントの上にはもはや有効です。) –
Remarksあなたは
データ型は値型と参照型に分けられることがわかります。値 型は、構造体にスタック割り当てまたはインラインで割り当てられます。 参照型はヒープに割り当てられます。参照型と値型はどちらも、究極の基底クラスObjectから派生した です。 オブジェクトのように動作する値型に必要な場合は、 というヒープで参照型オブジェクトのように見えるラッパーが ヒープに割り当てられ、値の型の値がコピーされます。ラッパーは とマークされているため、システムには値タイプが含まれています。このプロセス はボクシングと呼ばれ、逆のプロセスはアンボクシングと呼ばれます。 ボクシングとアンボクシングでは、あらゆる型をオブジェクトとして扱うことができます。
C#コンパイラを使用すると、int
long
のような値の型を使用すると、QIとスティーヴン・フライにあった場合は感じやすい馬鹿が賢い人をどう思うかという彼の正常な事をやっていた方法に
彼らはメソッドを持っています。それは錯覚ではありません。コンパイラは、ジッタが拘束されたオペコードに当社に代わっのおかげで効率的にそれらを呼び出す助ける素敵な仕事をしていても –
@Eric;) – ShuggyCoUk
@Ericリペット:私は、構造体(例えば、 'System.Collections.Generic.List'1を持っている場合+列挙【可能System.Int32] ')と箱入りインスタンスのメソッドを呼び出す(例えば、' 'のIEnumerable
を持っていると思い作り、素晴らしい仕事をしていません「System.ValueTypeから継承しないオブジェクトは定義上、参照型にする必要があります」と反応し、klaxonと「すべてのオブジェクトが値型または参照型です」という点滅する画面が表示されます。
彼は、彼らがいない場合であっても、本来はコンピュータサイエンスで、オブジェクトは.NETが持っているコンピュータで操作し、そのためのポインタが含まれる可能性のあるエンティティを意味することを指摘して行くだろうオブジェクト(の後にはと言います)は、メソッドでカプセル化されたオブジェクトを参照するため、間違っています。
アラン・デイヴィスは、あなたが何を意味しているかを誰もが知っていたと指摘しましたが、遅すぎると、あなたの声明は、フライの暖かい輝きを助長するだけでした。特に、技術はおそらくランクのオスカー・ワイルド彼は知的に話すことができると思っていると思うことを望んでいる(そして、何も知らない事柄のランクでは、おそらく二番目に誰にもならない、今私はそれを考えて、上記を言い換えて間違ってはいけない何らかの方法で)。言い換えれば
ははい、あなたは完全に正しいです:)
(そのいずれかが何を意味するのかの手掛かりを持っていないため、多くの英国のテレビを見て、とされていないものに謝罪)。
私はQIが;-) –
賢明な選択に来るとき裏返しする傾向があります。残念なことに、私の子供はしばしば嫌になるので、単にセマンティクスで遊んでいる間違いや「正しい」答えを指摘します。 –
ここをクリックしてください:http:// stackoverflow。com/questions/3503568/system-valuetype-understanding –
ポインタはどちらでもありません。しかしそれらをオブジェクトと呼ぶことはできません。 –
@HansPassantあなたは故意に鈍角なると、彼らは(彼らは例えばC言語でオブジェクトと呼ばれたい)単語の別の意味でのオブジェクトであることを言うことができます。それでも、.NETの世界では "オブジェクト"が意味するものではありません。 –