Wie kann man eine Array in einer struct Anweisung einbinden? So funktioniert das ganze. Leider sind die Array (1) und (2) außerhalb der struct Anweisung. In C++ funktioniert das ohne Probleme mit einem Array in einer struct Anweisung. Wie funktioniert das in C#? public int[] byte_transmit = new int[8]; (1) public int[] byte_recieve = new int[8]; (2) public struct message_write { public int id; public int rtr; public int dlc; } public message_write ptransmit; public struct message_read { public int id; public int rtr; public int dlc; } public message_read precieve;
So sollte das funktionieren: public struct message_write { public int id; public int rtr; public int dlc; public int[] byte_transmit; } public message_write ptransmit; ptransmit.byte_transmit = new int[8]; Gruss Johnny
Also eigentlich soll man in C# eigentlich keine Structs nehmen. Die Philosophie geht ja hin zu Klassen. Also eine Klasse Message mit deinen Variablen id, rtr, dlc und dann 2 Instanzen davon. Einmal für transmit und einmal für recieve. Zum Thema Arrays ins Structs: Man kann nur eine Array Definition im Strukt anlegen. Das Array an sich muss man dann später initialisieren. public struct message_write { public int id; public int rtr; public int dlc; public int[] byte_transmit; } dann z.B. in der Form.load Methode public message_write ptransmit; ptransmit.byte_transmit = new int[8];
So kannst du die Klasse Deklarieren. Eigentlich fast das Selbe wie beim Struct nur das du hier direkt sagen kannst, wie groß dein Array sein soll und du hast nen Konstruktor. public class message { public int id; public int rtr; public int dlc; public int[] x = new int[8]; public message() { //Construktor } } So legst du dann instanzen von der Klasse an. Dann kannst einfach wie im Struct drauf zugreifen. public message ptransmit = new message(); public message precieve = new message(); Theroretisch sollten die Klassenvariablen (id, rtr, ..) nicht Public sondern Private sein und du nur mit Get und Set Methoden drauf zugreifen. Aber man kann es sich auch einfacher machen.
> Also eigentlich soll man in C# eigentlich keine Structs nehmen.
Und was verleitet dich zu dieser Aussage ? Structs können durchaus Sinn
machen, z.B. für simple Wertobjekte (Objekte hier nicht im Sinne von
.NET value/object types) wie System.Drawing.Color.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.