C# Mehrere Strukturen in Schleife erstellen

Zacha

Grünschnabel
Tag ist eine Struktur, in der ich mehrere Variablen habe, die verschiedene Eigenschaften des jeweiligen Tages speichern will (beispielsweise die Zahl an Arbeitsstunden oder so). Der folgende Code soll nun 7 Objekte (Sun bis Sat) erstellen um sie später mit Werten zu füllen (mit so was wie Mon.Arbeitsstunden = 8).

Code:
int zaehler = 0;
string[] days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };
foreach (string test in days)
            {
                Tag days.zaehler = new Tag();
                zaehler+;
            }
Mon.Arbeitsstunden = 8;

Das funktioniert so nicht, da days.zaehler wohl als Name für das Objekt verstanden wird. Der Name sollte aber natürlich nicht "days.zaehler" sein, sondern beim ersten druchlaufen der Schleife "Sun", dann "Mon" etc.

Jetzt habe ich keine Idee wie ich das lösen soll. Ist die ganze Idee das über Structure zu machen schon schlecht, sollte man vielleicht lieber einen zweidimensionalen Array nehmen? Oder mache ich nur was ganz simples falsch?
 
Hallo Zacha,

ich denke, du benötigst ein dynamisches Array, etwa ein Dictionary:
C#:
Dictionary<string,Tag> dict_tag = new Dictionary<string,Tag>();

string[] days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };
foreach( string test in days )
{
    dict_tag[test] = new Tag();
}

dict_tag["Mon"].Arbeitsstunden = 8;
Gruß
MCoder
 
Zurück