Forum: PC-Programmierung [c#] Komplexe Datenstruktur - wie erstellen?


von Hüpferle (Gast)


Lesenswert?

Guten Tag,

ich bin seit einigen Tagen schon am grübeln wie ich eine komplexere 
Datenstrukur erstelle. Ich habe leider noch wenig Erfahrung mit C# aber 
ich bin fleißig am lernen.

Nun zu meinem Problem: Ich habe vom CAN - Bus Botschaften und möchte 
diese auswerten. Hierbei interessieren mich die IDs aber auch die 
verwendeten Services (SID) und deren Funktionen (LEV) (btw ISOTP 
Kommunikation). Des weitern sind noch einige Counter am Start für die 
Datenmenge, und wie Häufigkeit einer ID.
Das ganze ist recht dynamisch...

Hier mal ein paar bsps wie die Daten aussehen könnten:

int ID   SID   LEV   int DataCounter int IDCounter
               LEV
         SID   LEV
               LEV
               LEV

int ID   SID   LEV  int DataCounter int IDCounter
         SID   LEV
         SID   LEV

Also als eindeutigen Identifier würde die ID dienen. Die SID bzw LEV 
sind ehr als listen an zu sehen die Counter können als ints einfach 
hochgezählt werden.

Ich habe da an Struct und List Collection gedacht:
1
struct message
2
{
3
   int ID;
4
   List<string> SID = new List<string>();
5
   List<List<string>> LEV = new List<List<string>>();
6
   int DataCounter;
7
   int IdCounter
8
}
9
10
static void Main(string[] args)
11
{
12
   List<message> test = new List<msgs>();
13
14
   // öhm jo
15
}

Nun gut ganz davon dass der oben genannte code sich so nicht compilieren 
lässt, ich steh gar echt auf m schlauch wie ich sowas anpacke. 
Collections wie List gefallen mir in sofern dass diese funktionen wie 
.Add(), .Contains() etc bereitstellen. Und somit nur ID, SID oder LEVs 
hinzufügen lassen wenn diese noch nicht vorhanden sind...

Also nachdem Ihr mir den Kopf für das Zeug oben abgerissen habt, wäre 
ich um Ideen wie man sowas bewältigt echt dankbar.

LG Hüpferle

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.