Benutzer mit den meisten Antworten
Suche nach passendem Datentyp für eine Liste

Frage
-
Hallo, ich suche einen Datentypen im Sinne einer List.
Ich möchte unter einem Listtag einen int Wert speichern.
Also z.B. eine Liste mit den Wochentagen Montag bis Sonntag als Listtag und dann einen Zähler vom Typ int pro Tag.Es soll möglich sein, pro Wochentag den Integer zu erhöhen, das könnte dann z.B. so aussehen:
Besucher("Sonntag") = Besucher ("Sonntag") + 1
Am Ende möchte ich das mit einem foreeach auslesen:
foreach
(int Anzahl in Besucher)
{
Console.WriteLine(Convert.ToString(Anzahl) + ", " + Listtag(Anzahl));
}Das Ergebnis sieht so aus:
5, "Montag"
3, "Dienstag"
0, "Mittwoch"
2, "Donnerstag"
7, "Freitag"
6, "Samstag"
9, "Sonntag"Da die Tags nicht im voraus feststehen, ist das mit einem Array wohl eher schwer zu realisieren. Deswegen die Idee, eine Liste zu nehmen.
Aus einer anderen Programmiersprache kenne ich einen Listentyp, der das realisieren kann.
Ich frage mich, ob das in C## auch so einfach möglich ist.Gruß und Dank
G.
Antworten
-
Du könntest ein Dictionary benutzen.
würde dann bsp. so aussehen:
Dictionary<String, Int> variablenName=new Dictionary<String, Int>();
Für die Werte würde ich dass dann so (oder so ähnlich) machen:
if(variablenName.ContainsKey("WochenTag") { variablenName["WochenTag"]+=1; } else { variablenName.Add("WochenTag",Wert); } }
Hoffe das hilft weiter...
BP
- Als Antwort vorgeschlagen Frank Dzaebel Mittwoch, 13. April 2011 15:33
- Als Antwort markiert Thorsten DörflerEditor Mittwoch, 13. April 2011 16:31
Alle Antworten
-
Du könntest ein Dictionary benutzen.
würde dann bsp. so aussehen:
Dictionary<String, Int> variablenName=new Dictionary<String, Int>();
Für die Werte würde ich dass dann so (oder so ähnlich) machen:
if(variablenName.ContainsKey("WochenTag") { variablenName["WochenTag"]+=1; } else { variablenName.Add("WochenTag",Wert); } }
Hoffe das hilft weiter...
BP
- Als Antwort vorgeschlagen Frank Dzaebel Mittwoch, 13. April 2011 15:33
- Als Antwort markiert Thorsten DörflerEditor Mittwoch, 13. April 2011 16:31
-
Hallo D.,
BP hat schon die Antwort gegeben, ich möchte nur noch mal erwähnen, dass das .NET Framework hier einige Auflistungen schon selber hat - in multi-nationalen Szenarien kann sich ggf. der Name eines Wochentages ändern ... unsofern ist oft zu empfehlen, die Namen über das Framework zu benutzen:
string[] namenDeutsch = new CultureInfo("de-DE").DateTimeFormat.DayNames; string[] namenAktuelleKultur = CultureInfo.CurrentCulture.DateTimeFormat.DayNames; string[] namenInvariant = CultureInfo.InvariantCulture.DateTimeFormat.DayNames; int zahl = (int)DayOfWeek.Monday;
ciao Frank -
Merci Frank,
die Wochentage waren nur ein Beispiel, damit mich jeder versteht. Aber auch dein Hinweis ist wichtig und hilfreich.
Heute habe ich auf jeden Fall schon viel Neues gelernt und dafür dass es (seit langer Zeit) mein erstes Projekt mit VS unter Windows ist, bin ich mit dem Ergebnis recht zufrieden.
Es fällt mir immer nur schwer, zwischen den verschiedenen Sprache zu wechseln ;-).
LG
G.