Was ist bei meinem C# Code falsch?
using System;
namespace NeuArray
{
class Programm
{
static void Main()
{
string[,] products = new string[2, 5];
products[0, 0] = "Senf";
products[1, 0] = "1.99 Euro";
products[0, 1] = "Smartphone";
products[1, 1] = "Preis: 1299 Euro";
products[0, 2] = "Schokolade";
products[1, 2] = "2.99 Euro";
products[0, 3] = "Obst";
products[1, 3] = "1.49 Euro";
products[0, 4] = "Couch";
products[1, 4] = "499 Euro";
Start:
Console.Write("Gib die Spalte ein von dem Produkt das du suchst: ");
int Spalte = Convert.ToInt32(Console.ReadLine());
if (Spalte < 0 || Spalte > 5)
{
Console.WriteLine("Diese Spalte existiert nicht. ");
goto Start;
}
Console.WriteLine("Das gesuchte Produkt lautet: " + products[0, Spalte]);
Console.WriteLine("Möchtest du den Preis dieses Produktes sehen? Geben Sie 1 ein für Ja und 2 für Nein ");
int Abfrage = Convert.ToInt32(Console.ReadLine());
switch (Abfrage)
{
case 1:
Console.WriteLine(products[1, Spalte]);
break;
case 2:
Abfrage2:
Console.WriteLine("Möchten Sie nach einem neuen Produkt suchen? Geben Sie 1 ein für Ja und 2 für Nein");
int AbfrageProduktNeu = Convert.ToInt32(Console.ReadLine());
if ((AbfrageProduktNeu == 1))
{
goto Start;
}
else if (AbfrageProduktNeu == 2)
{
Console.WriteLine("Programm beendet.");
}
else
{
Console.WriteLine("Ungültige Eingabe.");
goto Abfrage2;
}
break;
}
}
}
}
Es steht zwar nicht, dass irgendwo ein Fehler ist aber immer wenn ich das Programm in der Konsole ausgeben will steht da "Hot Reload".
Könnt ihr mir helfen bitte?
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, C Sharp, Programmiersprache
- Bitte gewöhne dir ab mit goto zu arbeiten. Das ist eine alte C# last und wird nicht mehr benutzt. Schaue dir mal Methoden und OOP an.
- Einen Fehler kann ich auf die schnelle nicht erkennen. Interessanter wäre es zu wissen, was für eine Art von Projekt du genau erstellt hast. Eventuell hast du ein falsches erstellt. Vielleicht ist aber auch etwas anderes das Problem und das weiß man nicht, weil die Info fehlt. Nicht immer ist der Code das Problem 😅.
Wo genau steht denn Hot Reload? In der Console oder meinst du in Visual Studio, wo der Startknopf sein sollte im Debug Modus?
Also beim Code selber ist überhaupt nichts falsch, bis darauf, dass ich nach der Switch-Abfrage beim case 1 auch noch Console.WriteLine("Programm beendet") schreiben würde oder etwas weiterführen würde.
Kann dir aber ehrlich nicht sagen von wo der HotReload stammt, bei mir in VS Code funktioniert dein Code einwandfrei 🤷♂️
Woher ich das weiß:Hobby – Programmierung mit Unity und C#