Entwickler-Ecke
Basistechnologien - ArrayList in Struktur
Rassi - Mo 03.11.08 11:33
Titel: ArrayList in Struktur
Hallo.
Wie bekomme ich eine (oder mehrere) ArrayList in einer Struktur unter?
Ziel ist es, dass diese Strktur im Quellcode deklariert werden, und dann darauf zugegriffen werden kann.
Ich habe das bisher so:
C#-Quelltext
1: 2: 3: 4: 5:
| public struct struArbeitsschritt_resoutcenart_zeit_Array { public ArrayList iID; public ArrayList iID_Arbeitsschritt; } |
Im Code deklariere ich die Struktur:
C#-Quelltext
1: 2: 3: 4: 5:
| struArbeitsschritt_resoutcenart_zeit_Array Daten;
Daten.iID.Add(5); Daten.iID.Add(7); Sortierfunc.Parallelen_Arbeitsschritt_suchen(Daten); |
Hier meckert der Compiler!
Es geht zwar so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| struArbeitsschritt_resoutcenart_zeit_Array Daten;
Daten.iID_Arbeitsschritt= new ArrayList(); Daten.iID= new ArrayList(); Daten.iID.Add(5); Daten.iID.Add(7); Sortierfunc.Parallelen_Arbeitsschritt_suchen(Daten); |
Kann das einzelne Zuweisen umgangen werden, so dass das nicht immer bei jeder Deklaration für alle ArrayList gemacht werden muss? Schön wäre es, wenn nur deklariert werden muss, und das wars.
Gruß
Rasmus
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
Th69 - Mo 03.11.08 12:46
Irgendwo muß die Liste nun mal erzeugst werden, aber du könntest es direkt bei der Deklaration machen:
C#-Quelltext
1: 2: 3: 4: 5:
| public struct struArbeitsschritt_resoutcenart_zeit_Array { public ArrayList iID = new ArrayList(); public ArrayList iID_Arbeitsschritt = new ArrayList(); } |
Und noch ein Hinweis:
Sofern du nicht mehr unter .NET 1.1 arbeitest, solltest du so schnell wie möglich auf die generischen Listen umsteigen!!!
C#-Quelltext
1: 2: 3: 4:
| using System.Collections.Generic;
public List<int> iID = new List<int>(); ... |
Rassi - Mo 03.11.08 13:03
Hallo.
Danke für die Antwort.
Zu 1:
Habe ich versucht, nur wenn ich es in der Deklaration der Struktur mache, bekomme ich eine Fehlermeldung:
D:\temp\Software\Appel_Datenbank\Software_Datenbank\WindowsApplication1\Sortierung.cs(16): 'WindowsApplication1.struArbeitsschritt_resoutcenart_zeit_Array.iID': Instanzenfeld-Initialisierung kann nicht in Strukturen sein
Zu 2:
Werde ich mir sofort anschauen, was hier der Unterschied ist, bzw. die Vorteile sind, da ich jetzt erst anfange die ArrayList im Programm zu verwenden.
Ich verwende noch VS2003, und damit ist wohl die Verwendung von List nicht machbar! Oder liege ich da falsch?
Gruß
Rasmus
Kha - Mo 03.11.08 14:46
Rassi hat folgendes geschrieben : |
| Ich verwende noch VS2003, [...] |
Uff.
Macht es denn Sinn, hier eine Struktur statt einer Klasse zu benutzen? Wenn nicht, dann kannst du es wie von Th69 vorgeschlagen machen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!