Zwei String Arrays zusammen in einem Array
-
Hallo,
ich möchte bitte fragen wie man zwei Arrays vom Typ String in einem zusammen bringt. Hier ist der Quelltext:
array <String^> ^listPunkte = gcnew array <String^>(10); array <String^> ^listName = gcnew array <String^>(10); if (File::Exists("C:\\Temp\\score.dat")) { //die Datei über FileStream erzeugen FileStream ^fStream = gcnew FileStream("C:\\Temp\\score.dat", FileMode::Open, FileAccess::Read); //eine neue Instanz von BinaryReader auf der Basis //von fStream erzeugen BinaryReader ^binaerDatei = gcnew BinaryReader(fStream); for (Int32 i = 0; i < 10; i++) { listPunkte[i] = binaerDatei->ReadInt32().ToString(); listName[i] = binaerDatei->ReadString(); } //BinaryReader schließen binaerDatei->Close(); //FileStream auch schließen fStream->Close(); } }
Mein Ziel ist es, einem Array mit 20 elemente (die bereits vorhandene Arrays) zu haben. Ich habe schon versucht einer der Arrays mit dem Resize Methode und dann der CopyTo, leider überschreibt er mir nur den Daten. Ich möchte gern die Arrays aneiander anhängen. Der Grund warum ich dass machen will ist folgendes:
Ich habe ein Formular mit 20 TextBoxen und es gibt eine möglichkeit die daten in den TextBoxen hineinzuschreiben durch einen for each Schleife. Wie dies hier:
for each (Control ^element in this->Controls) { if (dynamic_cast<TextBox^>(element) != nullptr) { element->Text = //Hier das Array mit 20 elemente } }
könnte jemand mir vielleicht ein Beispiel geben wie man die zwei arrays zusammenbringen kann.
Danke.
-
Benutze doch System::Collection::Generic::List<..> - ist einfacher...
Falls Du das doch mit Arrays machen möchtest:
http://stackoverflow.com/questions/2788636/array-concatenation-in-c
(Der Code ist C# was aber analog in C++/CLI gehen sollte.)Eigentlich ist es einfach:
a. Neues Array erstellen mit der Anzahl aus den beiden Quell Arrays
b. 1. Quell Array in Ziel Array kopieren, start bei 0
c. 2. Quell Array in Ziel Array kopieren, start bei Länge des 1. Quell ArraysEdit:
Wenn ich mich recht erinnere gibts bei LINQ eine Concat Methode (Extension Methode in C#) - ev. kannst Du auch die verwenden.
-
Vielen Herzlichen Dank.
Das mit dem Array hat funktioniert, beim kopieren die Zweite Quelle hänge ich dass quasi am ende des ersten array durch die Länge.
vielen Dank.