Autor Beitrag
mike3000
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 01.01.09 18:55 
Hi,

Ich bin neu in C# und habe eine kurze Frage zu einem hoffentlich kleinen Problem.

In meinem C# Progrämmchen benötige ich eine einfache Methode um auf Kunden zugreifen zu können, z.B. so:

allCustomers[44][Name] -> gibt mir den Namen des Kunden mit der Kunden-Nr. 44
allCustomers[30][Age] -> gibt mir das Alter des Kunde mit der Kunden-Nr. 30

Diese Zugriffsmethode habe ich mit verschachtelten Dictionaries gelöst:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
int customerNo  = 44;
string name     = "Gates";
string prename  = "Bill";
int age         = 30;
float revenue   = 234.234F;

Dictionary<int, Dictionary<stringstring>> allCustomers = new Dictionary<int, Dictionary<stringstring>>();
Dictionary<stringstring> customer = new Dictionary<stringstring>();

allCustomers.Add(CustomerNo, customer.Add("Name", name);
allCustomers.Add(CustomerNo, customer.Add("Prename ", prename );
allCustomers.Add(CustomerNo, customer.Add("Age", age.ToString());
allCustomers.Add(CustomerNo, customer.Add("Revenue ", revenueToString());

Das Problem ist nun, dass ich numerische Variablen wie "Age" oder "Revenue" jedesmall in einen String und zurück konvertieren muss.

Frage: Gibt es für eine solches Szenario eine bessere Lösung ?

Für jeden Hinweis bin ich sehr dankbar.

mike

Moderiert von user profile iconUGrohne: Beitragsformatierung überarbeitet.


Zuletzt bearbeitet von mike3000 am Do 01.01.09 21:19, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 01.01.09 19:08 
Hallo und :welcome: hier im Forum!

Ich kenne Dictionary nicht, deshalb kann ich dazu nichts sagen, aber ich würde einfach dies verwenden:
msdn.microsoft.com/d...0taef578(VS.80).aspx
In Verbindung mit einer List mit dem entsprechenden Typ sollte das sein, was du brauchst.
msdn.microsoft.com/d...6sh2ey19(VS.80).aspx
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 01.01.09 21:00 
Zitat:
allCustomers[44][Name]
Welchen Vorteil versprichst du dir davon? Normalerweise benutzt man dafür eine List<T> einer eigenen Customer-Klasse, womit der Zugriff so aussieht:
ausblenden C#-Quelltext
1:
allCustomers[44].Name					

Was jaenicke eigentlich schon gesagt hat, nur:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Ich kenne Dictionary nicht, deshalb kann ich dazu nichts sagen, aber ich würde einfach dies verwenden:
msdn.microsoft.com/d...0taef578(VS.80).aspx
Structs machen hier keinen Sinn, da sollte schon eine Klasse her.

_________________
>λ=
mike3000 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 01.01.09 21:33 
Kha, jaenicke: Vielen herzlichen Dank für die rasche Antwort :D

Hab nun eine Customer-Klasse erstellt. Die Customer-Objekte versorge ich nun einfach in einem Dictionary mit CustomerNo als Key, das funktioniert prima (mit Linq2SQL bräuchte ich sogar nicht mal mehr eine eigene Customer-Klasse)

wirklich cool ! :D

danke
mike