2017-11-02 9 views
0

私は現在C#でプログラミングしており、このスニペットをチュートリアルの1つで見つけました。C#での中括弧

この方法で中括弧は正確に何を意味しますか?それはキー値ペア{id: 2}のようなものですか?

weapon = new Weapon(new WeaponData() { Id = 12 }); 
+1

また、 'new WeaponData(){}'を実行する必要はありません。新しいWeaponData {} ' –

+0

Microsoftのドキュメントをご覧ください:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers – Rhexis

答えて

2

これは、obect初期化子と呼ばれるものです。オブジェクトを作成した直後にプロパティの値を設定することができます。それは、次のコードと同等です:この場合

var weaponData = new WeaponData(); 
weaponData.Id = 12; 
weapon = new Weapon(weaponData); 
+0

はい、修正されました。ありがとう! – Kenneth

+0

ああ、興味深い。それは理にかなっています、ありがとう! – lost9123193

+0

私はupvoteしたいと思いますが、私がマークした複製は、この質問に答えるための多くの詳細を持っています –

0

weaponクラスは、そのだけで、他の12、その値とidプロパティを初期化、同じラインで、呼び出されている無引数のコンストラクタを持っていますオブジェクトを初期化する方法