[C#]Problem mit 2dimensionalen Array (Indexzuweisung)

Nil18

Erfahrenes Mitglied
Hallo an alle die diesen Thread lesen.

Hab hier ein Problem mit einer Indexzuweisung in einem 2dimensionalen Array.
Um das ganze einfacher erklären zu können, seht euch folgenden Screenshot an:

zeiterfassungnh0.jpg


Mittels diesem Programm kann man seine Arbeitszeiten eintragen und es wird einem sofort die Arbeitszeit des aktuellen Tages ausgegeben (Feld Arbeitszeit).

Nun will ich unten in dem aufgeklappten Feld eine Monatsübersicht anlegen. Man soll also in der ComboBox das Monat auswählen können und beim Klick "Zeige Statistik" eine MessageBox mit der Arbeitszeit eines Monats erhalten. Somit weiss man gleich ob man im nächsten Monat vielleicht etwas mehr arbeiten sollte ;)

Aber das tut nichts zur Sache, mein Problem ist nun, nur abgeschlossene und auch komplett eingetragene Monate anzeigen zu lassen.

Bis jetzt habe ich mir das so gedacht: [Pseudocode]:
Code:
foreach (ZeitErfassungDataSet.ErfassungRow curRow in this.zeitErfassungDataSet.Erfassung.Rows)
{
  if(curRow is in array)
  {
    add arbeitszeit where datum is equal;
  }
  else
  {
    create new array entry;
    add arbeitszeit in this new entry;
  }
}

Das Problem ist, das der Index immer ein anderer ist und ich nicht weis, wohin ich den Eintrag machen soll. (OutOfRangeException) Außerdem bekomme ich ständig Fehler, sobald ich "in die erste Dimension" schreiben will.
Beispiel:
array[0][0] = "bla"; ist kein Problem, aber array[0] = "bla" gibt mir einen Fehler wegen Umwandlung von string in string[] oder so ähnlich.

Nunja...
Ich habe es auch bereits schon mit Listen Probiert und ArrayList ebenfalls.
Nur die Indexzuweisung macht mir immer wieder Probleme.

Wie würdet ihr an dieses Problem herantreten?
Habt ihr eine bessere Idee wie ich alle Arbeitszeiten unter einem Datum sammeln kann?

Bin dankbar für jede Antwort!

//edit:
Was ich vergessen habe zu sagen:
Der Benutzer kann die Einträge auch anders sortiere, daher gestaltet sich die Suche nach dem richtigen Index noch schwerer.
Hier villeicht ein Beispiel (sortier nach Arbeitszeit)
Datum Arbeitszeit
1.1.2006 8
2.1.2006 6
3.2.2006 5
4.1.2006 4

Somit würde die Array Struktur wie folgt aussehen:
array[0] = 1.1.2006
array[0][0] = 8
array[0][1] = 6
array[1] = 3.2.2006
array[1][0] = 5
array[0][2] = 4

Die Reihenfolg ist eigentlich egal, hauptsache ist, dass zb. der 2.1. ebenfalls zum Jänner gehört und daher ins Monat Jänner (Index 0) dazu genommen wird.
Es soll also jedes Monat einen eigenen Eintrag bekommen, und alle Tage innerhalb dieses Monats eine dimension tiefer aufgelistet sein.
 
Zuletzt bearbeitet:
Zurück