これは、すべてのプロパティに何かを割り当てる必要がないため、コンパイラでサポートされているものではありません。 はとすることができますが、それほど重要でないケースではすぐに「停止問題」となります。
Car
場合は(あなたが最初の値を初期化していない場合のみ)は非常に具体的な構文で確認することができ、その後struct
だったが、あること注:それはあなたを助けにはなりませんように微妙であること、良いアドバイスではありません(それは、変更可能な構造体の問題について議論する前です)。
場合によっては、にが必要なものを宣言するためにコンストラクタを使用することをお勧めします。それで、次のようになります:
Car myCar = new Car(color: "green", fourDoor: true, numberOfTires: 42);
私の明示的なパラメータ名の使用は、単に可視性のためです。それだけでだけでなく、動作します:
Car myCar = new Car("green", true, 42);
をこのようなものにマッピングします:あなたがで初期化する必要があるプロパティを設定することができ
class Car
{
public string Color {get;}
public bool FourDoor {get;}
public int NumberOfTires {get;}
public Car(string color, bool fourDoor, int numberOfTires)
{
Color = color;
FourDoor = fourDoor;
NumberOfTires = numberOfTires;
}
}
これは基本的に私はクラス、ちょうどのような[OK]を、今私はそれを得る「クリック」それらの事のその1を見てどのように変化しました。コード例は本当に多くの助けになりました。ありがとう! – Skedge
私が明確にする必要がある唯一の他の事は、コンストラクタはプロパティでセッターを使うのですか? – Skedge
@Skedgeコンストラクタは、そのクラスの新しいインスタンスを宣言するときにのみ呼び出されます。それは決して再び呼び出されません。 – ThePerplexedOne