Alternative zu std::vector in NET?
-
List<T> besitzt doch nen Indexer mit dem du per Index auf die Werte drauf zugreifen kannst.
-
Meinst du den Enumerator oder was anderes?
wenn ja...hast du dafür vielleicht ein kleines beispiel parat wie ich den deklariere und benutze?
find bei der msdn nichts hilfreiches irgendwie
-
List<int> ^ foo = gcnew List<int>(); foo->Add(42); int bar = foo[0];
-
wenn ja...hast du dafür vielleicht ein kleines beispiel parat wie ich den deklariere und benutze?
find bei der msdn nichts hilfreiches irgendwieHast Du überhaupt geschaut????
http://msdn2.microsoft.com/en-us/library/6sh2ey19(vs.80).aspxSimon
-
jop ich hatte geschaft, hatte aber den index in [] total übersehen, da ich mir das abgewöhnt hatte, seit ich vectoren benutzt hab^^
da dort alles per ".at(index)" lief
aber danke, habs einfach übersehnEDIT: Ihr wisst nicht auch zufällig wie ich die ArrayList oder List mehrdimensional bekomme?
so wies beim vector ging, gehts leider nicht...
-
Hallo,
Wie gings denn bei std::vector?Ich kann mir im Moment nicht vorstellen, was mit ArrayList / List nicht gehen sollte.
simon
-
Bei Vectoren konnte man z.b. ein 2dimensionalen vector erzeugen,
indem man den eindimensionalen noch einmal in einen vector packt.
also im prinzip sieht dieses dann so aus:
vector<vector <string>> my_var;Diese art und weise hab ich auch bei arraylist/list versucht, jedoch irgendwie ohne erfolg,
oder ich hab irgendwas falsch gemacht.
hast du vielleicht rat, wie ich mit arraylist/list mehrere dimensionen erzeugen kann?
-
List<List<foo^>^>^ lst2dOfFoo;
-
List<List<String^>^>^ test = gcnew List<List<String^>^>(2);
also compilieren lässt es sich
aber wenn ich z.b. test[0]->Add("blabla"); mache kommt nen fehler "System.ArgumentOutOfRangeException"
obwohl ich die anfangskapazität für die erste dimension auf 2 gesetzt hab.
wenn ich mir die Kapazität per test->Capacity ausgeben lasse steht dort auch eine 2echt der wurm drin
-
Hallo,
Du musst zuerst in der Liste der Listen ein Element hinzufügen (eine Liste).List<List<String^>^>^ test = gcnew List<List<String^>^>(2); test->Add(gcnew List^()); test[0]->Add("blabla");
Mit der Kapazität erzeugst Du keine Elemente.
Du reservierst nur Speicher.
Gruss SimonPS: Ev. ist meine C++/CLI syntax nicht so astrein.. aber prinzipielle liegt hier das Problem..
-
List<List<String^>^>^ test = gcnew List<List<String^>^>(); test->Add(gcnew List<String^>()); test[0]->Add("blabla");
-
letztere version funktioniert
ich danke euch allen, die sich hier eingeklickt haben
nu kann ich endlich mein projekt weitermachen
wünsche euch ein schönes WE und einen schicken ersten adventder chris