5

structOK、デフォルトのパラメーターなしのコンストラクターを使用できないと聞いていますが、これは問題ありません (http://stackoverflow.com/questions/333829/why-cant-i-define-a-default-constructor-for-a-struct-in-net )。しかし、ドキュメントには、「各値型には、その型のデフォルト値を初期化する暗黙のデフォルト コンストラクターがあります」と記載されています。http://msdn.microsoft.com/en-us/library/s1ax56ch.aspxから

現在、暗黙のデフォルト コンストラクターとパラメーターなしのデフォルト コンストラクターの違いは何ですか?

4

2 に答える 2

6

暗黙のデフォルト コンストラクター、コンパイラによって自動的に作成されるパラメーターなしのコンストラクターです。パラメーターなしのコンストラクターを作成できない理由は、既定のコンストラクターが既に存在するためです。彼らがなぜこのようにすることを選んだのか、なぜあなたがそれを上書きすることを許可されていないのか、私にはわかりません。

于 2012-06-03T02:03:54.717 に答える
1

指摘した回答で説明したように、IL を使用すると、a のパラメーターなしのコンストラクターを定義できますが、struct呼び出されないシナリオがあります。

IMHO「暗黙の」コンストラクターは単なる論理的なものです。これは、メモリが割り当てられるときにメモリがゼロになることを意味します。

于 2012-06-03T02:06:11.600 に答える