Von einem Array auslesen in einen String in C#?
Hallo, ich möchte eine Methode schreiben die ein int array übergeben bekommt. Diese Methode soll nun jeden einzelnen eintrag im array in Console.wirteline ausgeben und mit einem Return zurück schicken.
Als beispiel mein array enthält die zahlen 1,2,3,4
Nun soll mir die Textausgabe allerdings die 1,2,3,4 in einem einzigen String ausgeben und das ohne eine Liste oder sonstwas zu benutzen. Sie soll quasi jede zahl zum bestehenden String durch komma getrennt hinzufügen. Geht das überhaupt?
2 Antworten
Ich würde dafür einfach durch das Array durch iterieren, am einfachsten geht das mit einer foreach-Schleife. Dort fügst du erst den aktuellen Eintrag (zum String konvertiert) an einen String an, und danach ein Komma gefolgt von einem Leerzeichen. Das anfügen kannst du entweder mit der .Join Methode machen, oder mit dem + Operator.
Hier findest du die Dokumentationen zur Foreach-Schleife und der .Join Methode.
Bei größeren Arrays hätte foreach und das verketten mit + oder += einen enormen Speicherbedarf nötig, da bei jedem Schritt eine neue Kopie des Strings angelegt wird...
Neben dem Speicherbedarf ist diese Variante auch zeitintensiv.
Daher sollte man das nur verwenden, wenn Neben dem Zusammenfügen auch noch Kontrollen ins Spiel kommen. Dann sollte man evtl auch die Stringbuilder-Klasse und deren Insert- oder Append-Methode verwenden
using System;
class Prog{
public static void Main(string[] args){
int[] MyNumbers={ 1, 2, 3, 4, 5 };
string myString=String.Join(",", MyNumbers);
Console.WriteLine(myString);
}
}