0

だから私は何週間もこれについて頭を悩ませようとしてきました。構造体は値型であり、クラスは参照型であることを理解しています。私が混乱するのは、2 つの動作の違いです。

例: ポテトの袋があり、それぞれのポテトが異なるサイズ、形状、重さであるとします... バッグは「クラス」/参照型になります ポテトは「構造体」/値型になります

じゃがいもをクラスにすることはできますか、それとも含まれる値が異なるため、構造体にする必要がありますか?

基本的に、その質問に対する答えは、私にとってすべてを解決します。

ありがとうございました!

4

3 に答える 3

1

Potatoを取り出して他のクラス間で渡したいBagOfPotatoes場合、これらのクラスがポテトを変更する場合は、参照型にする必要があります。

たとえば、BagOfPotatoesは に渡されChef.SortPotatoes(List<Potatoes> potatoes)、次にChef.SkinPotatoes(Potato potato)シェフがジャガイモの皮をむく可能性がある場所に進み、 を設定しますPotato.IsSkinned

  • 参照型の場合- 変更された値は .xml でも変更されBagOfPotatoesます。すなわちPotato.IsSkinned = true

  • 値型の場合-BagOfPotatoes元の s を含むバッグが含まれますPotato。つまり、Potato.IsSkinned = false

それは、ポテトを個々のポテトとして参照する必要があるかどうかによって異なります。どこでそれをチャックし、最後に同じマッシュアップポテトについても話します(参照により)。または、ジャガイモの種類についてのみ話したいかどうか(値による)。

于 2013-06-05T12:49:54.397 に答える