Hallo und guten Tag,
ich bin ganz neu hier und finde es richtig gut das es solche Leute und Foren überhaupt gibt.
Mein eigentliches Problem besteht darin, das in einer for-schleife vor der ersten und nach der letzten Zahl kein Komma stehen soll.
if (i ≥ 0 && i != 10)
Console.Write( i+",");
Irgendwo habe ich einen Denkfehler. Mir fehlt wohl der Tritt.
Danke an alle Mitdenker.
Eine einfache aber ehr unschöne Lösung ist einfach ne if-Abfrage in die Schleife einzubauen und abzufragen ob es sich um den letzten durchlauf der Schleife handelt wenn ja dann einfach Console.Write(i);
Oder du speichert Zahlen erst in einen string und schneidest vor der Augabe per String.Remove das letzte Zeichen also das Komma ab.
int max = 10;
string temp = "";
for(int i = 0; i < max; i++)
{
temp = temp + i.ToString() + ",";
}
temp = temp.Remove(temp.length - 1);
Console.Write(temp);
Kannst zum Beispiel das hier machen:
for(int i = 0; i < 10; i++) {
Console.Write((i != 0)?"":", " + i.ToString());
}
Abgesehen davon gibt es glaube ich Array.Join() als Funktion, die sowas erfüllen kann.
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
var joined = string.Join(", ", Enumerable.Range(0, 10));
Oder du speichert Zahlen erst in einen string und schneidest vor der Augabe per String.Remove das letzte Zeichen also das Komma ab.
Besser die String.TrimEnd-Methode (System) benutzen. Also temp = temp.TrimEnd(',');
Hallo!
Dann hab' ich auch noch eine Variante:
var result = String.Empty;
for (int i=0; i<10; i++){
if (!String.IsNullOrEmpty(result)) result+=", ";
result+=i.ToString();
}
Console.WriteLine(result);
Nobody is perfect. I'm sad, i'm not nobody 🙁
Danke liebe Leute,
das hat erstmal weitergeholfen. Werde euch weiterempfehlen.
Werde euch weiterempfehlen.
Das ist grundsätzlich nett, jedoch solltest du und alle deine "Follower" dann [Hinweis] Wie poste ich richtig? Punkt 1.1.1 beachten. Vielen Dank!
var joined = string.Join(", ", Enumerable.Range(0, 10));
Die Variante möchte ich nochmals hervorheben: Seit .NET 4.0 kann man dieser Methode nämlich auch ein IEnumerable<T> übergeben statt wie zuvor nur ein string[]
, was sie für derartige Verkettungen optimal macht.