2016-07-18 5 views
1

Wie wir wissen, dass ein einfaches Array wie dieses zum Beispiel int [] TestArray = {1,2,3,4} initialisiert werden kann, aber wie wäre es, wenn wir ein Array mit einem Strukturobjekt verwenden und wir es initialisieren möchten?Können wir ein Array initialisieren, wenn wir es mit einem Strukturobjekt verwenden? | C#

Ich weiß, dass wir die Struktur Objektarray wie dies beispielsweise zugreifen können,

Es sei struct Automobile unsere Struktur ist, und wir haben Feld in es wie public int year, public string model und wir erstellen ein Array Strukturobjekt beispielsweise Automobile [] Car = new Automobile(); so können wir das Element einer Struktur Array-Objekt zugreifen und es einen Wert geben, wenn wir es mit Strukturfeld beispielsweise verwendet werden, Car[2].year = "2016" und dann kann es angezeigt werden in zum Beispiel

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

Aber was, wenn wir unsere Struktur wollen Array-Objekt an Anfangswerte wie wir haben es in normalen Array-Initialisierung wie zu Beginn geschrieben?

Antwort

3

Versuchen

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

var auto = new[] Abkürzung für Automobile[] auto = new Automobile[] ist, die Sie stattdessen, wenn Sie mit dabei sind bequemer nutzen können.

2

die Struktur Lassen Sie wie wie folgt definiert werden:

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

Dann Sie das Array dieser Strukturvariablen wie folgt erstellen:

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" }}; 

ähnlich wie Sie auch eine Liste definieren;

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

Was ist 'erhalten; und warum hast du es benutzt, wenn es auch ohne es funktioniert hat? Können Sie Ihr Wissen mit uns teilen? – Anonymous

+0

@GhostRider - Hast du nicht gesehen 'bekommen; Set; 'vorher? – Enigmativity

+1

Diese werden verwendet, um Eigenschaften zu definieren. Sie können diesen Thread verwenden, um den [Unterschied zwischen Variablen und Eigenschaften] zu verstehen (http://stackoverflow.com/questions/4142867/what-is-difference-between-property-and-variable- in-c-scharf) –

Verwandte Themen