2016-07-18 4 views
1

例えば、int [] TestArray = {1,2,3,4}のように単純な配列を初期化することができますが、構造体オブジェクトを持つ配列を使用して初期化したいのですか?配列を構造体オブジェクトと共に使用すると、配列を初期化できますか? | C#

私たちは例えば、このような構造のオブジェクトの配列にアクセスすることができることを知って、

と仮定struct Automobileは、私たちの構造であり、我々はそのようなpublic int yearpublic string modelのフィールドを持っていると我々は、Automobile [] Car = new Automobile();例えば配列構造のオブジェクトを作成します私たちは私たちの構造をしたい場合ので、私たちは、

MessageBox.Show(Car[2].year.ToString()); 

しかし、何を構造体配列オブジェクトの要素にアクセスし、私たちはたとえば、Car[2].year = "2016"のための構造体のフィールドでそれを使用して、例えばそれを表示することができればそれに価値を与えることができます配列オブジェクト開始時に書かれた通常の配列初期化のような初期値を持っていますか?

答えて

3

var auto = new[] 
     { 
      new Automobile {year = 1984, model = "charger"}, 
      new Automobile {year = 1985, model = "challenger"}, 
      new Automobile {year = 1984, model = "hemicuda"} 
     }; 

var auto = new[]を試してみては、あなたがそれをより快適にしている場合は、代わりに使用することができますAutomobile[] auto = new Automobile[]の省略形です。

2

構造は、このようなとして定義されてみましょう:

public struct Automobile 
{ 
    public int Year { get; set; } 
    public string model { get; set; } 
} 

その後、あなたは次のように、この構造体変数の配列を作成することができます:あなたはあまりにもリストを定義することができ

Automobile[] AutomobileList = new Automobile[] { 
           new Automobile() {Year=2015,model="Some model1" }, 
           new Automobile() {Year=2014,model="Some model2" }, 
           new Automobile() {Year=2013,model="Some model3" }}; 

同様の方法で、

List<Automobile> AutomobileList = new List<Automobile>() { 
            new Automobile() {Year=2015,model="Some model1" }, 
            new Automobile() {Year=2014,model="Some model2" }, 
            new Automobile() {Year=2013,model="Some model3" }}; 
+0

「取得」とは何ですか。なぜあなたはそれがなくても働いたときにそれを使ったのですか?私たちとあなたの知識を共有できますか? – Anonymous

+0

@GhostRider - あなたは 'getを見たことがありませんでしたか?前に? – Enigmativity

+1

プロパティを定義するために使用されます。このスレッドを使用して、[変数とプロパティの違い]を理解することができます(http://stackoverflow.com/questions/4142867/what-is-difference-between-property-and-variable- in-c-sharp) –

関連する問題