Entwickler-Ecke

C# - Die Sprache - Array in Struct anlegen?


Sharpy78 - Sa 15.12.07 20:28
Titel: Array in Struct anlegen?
Hallo,

ich öchte in einem Struct ein Array anledegen doch ich bekomme es nicht hin. Es gibt immer Fehlermeldungen. Es geht in C# wohl mal wieder anders... ;)


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
        public struct MyStruct
        {
            public Boolean Found;
            public String RawData;
            public Boolean Minimize;
            public Byte Progress;
            //
            // und hier habe ich 
            public fixed byte Line[24];
            //
        }


in MyStruct.Line[1] möchte ich einen Wert speichern, insgesamt eben 24 Byte Werte
So geht es aber nicht

Hat jemand einen Tip für mich?


MfG Frank


Christian S. - So 16.12.07 00:33

Die Fehlermeldung sagt's ja schon: fixed ist managed Code nicht erlaubt.


Sharpy78 - So 16.12.07 11:42

Joho das hat etwas gedauert aber so klappt es!


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
        public struct MyStruct 
        { 
            public Boolean Found; 
            public String RawData; 
            public Boolean Minimize; 
            public Byte Progress; 
            public byte Line[]; // das Array
        }


Irgendwo am Programmstart, bei mir in Formular.Load, das Array initialisieren...


C#-Quelltext
1:
2:
3:
            ...
            Line = new byte[24];
            ...


MfG Frank, schönen 3. Advent!


JüTho - So 16.12.07 12:58

Aber bitte Schreibfehler korrigieren, damit spätere Leser dieser Diskussion nicht durcheinandergebracht werden.

Falsch:
user profile iconSharpy78 hat folgendes geschrieben:

C#-Quelltext
1:
2:
3:
4:
public struct MyStruct 

    public byte Line[]; // das Array
}

Richtig (die spätere korrekte Zuweisung mit new macht das deutlich):

C#-Quelltext
1:
2:
3:
4:
public struct MyStruct 

    public byte[] Line; // das Array
}

Ebenfalls schönen 3. Advent! Jürgen