array als Typ für List<T>
-
Hi,
ich möchte ein array als Typ für die Auflistungsklasse List<T> verwenden. Also so:using namespace System::Collections::Generic; ... array<int> ^Hilfsarray; List<Hilfsarray> ^c;
Für Ratschläge wäre ich dankbar
-
Ähm...
using namespace System::Collections::Generic; List<array<int> ^> ^c;
Oder warum nicht gleich:
using namespace System::Collections::Generic; List<List<int> ^> ^c;
Oder wo ist das Problem?
MfG
-
das sieht schon mal gut aus...
aber wie weise ich dem dann etwas zu, muss ich immer ein array definieren und es dann zuweisen, oder kann ich auch etwas in der Art:using namespace System::Collections::Generic; List<array<int> ^> ^c; c->Add({2,2}); //das funktioniert so anscheinend nicht
benutzen.
Ich brauche so eine Datenstruktur ja eigentlich nur für mein Programm, um vorher unbekannt viele Koordinatenpaare während des Programmablaufes abzuspeichern. Wenn es da noch bessere bzw. einfachere Möglichkeiten gibt, wäre ich dankbar für Vorschläge.
-
Du willst Koordinatenpaare in einer Liste speichern? Dann würde ich dir strengstens von
List<array<int> ^> ^
abraten, und für die Koordinaten eine eigene Klasse definieren bzw. eine bereits vorhandene Verwenden. Z.B. mitList<Tuple<int, int> ^> ^
:List<Tuple<int, int> ^> ^c = gcnew List<Tuple<int, int> ^>(); c->Add(gcnew Tuple<int, int>(2, 2));
Oder noch empfehlenswerter:
value struct Coord { Coord(int x_, int y_) { x = x_; y = y_; } property int x; property int y; }; //... List<Coord> ^c = gcnew List<Coord>; c->Add(Coord(2, 2));
MfG
-
danke, dass mit value struct war eine gute Idee...
Wieder was dazugelernt
mit
int xx=c[0].x //xx=2
müsste ich auf die Koordinaten zugreifen können.