C# Programmierung Frage und Antwort mit if (Dringend!)
Hallöchen, Community, da ich mich in letzter Zeit ein Bisschen einsam gefühlt habe, habe ich nagefangen, eine Konsolenanwendung im C# Code zu programmieren, ich stieß in relativ kurzer Zeit auf ein Problem. Ich möchte, dass man auf einen bestimmten eingeschriebenen Text eine Antwort vom Programm bekommen, das Schema : Konsole: Hallo, wie gehts dir? ->User: ganz gut-> Konsole: freut mich zu hören! ich möchte, dass das Programm auf das, was der User einschreibt, reagiert!. und deshalb die Frage: wie mache ich das? hier mein bisheriger Code:
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Hallo,wie gehts denn so?");
string Laune = ("gut");
if Console.ReadLine("gut") = Laune;
Console.WriteLine("freut mich!");
else;
Console.WriteLine("Sorry, Ich habe deine Antwort nicht verstanden");
Console.ReadLine();
}
}
}
3 Antworten
entweder so:
if(Console.ReadLine() == "gut") { Console.WriteLine("freut mich");} else { Console.WriteLine("Sorry, Ich habe deine Antwort nicht verstanden");}
oder gleich in einer switch anweisung:
string laune = Console.ReadLine();
switch (laune)
{
case "gut": Console.WriteLine("Freut mich das zu hören"); break;
case "schlecht": Console.WriteLine("Mhn, schade");break;
case default: Console.WriteLine("Antwort unbekannt, sorry");break;
}
das programm will nach default ein ( haben, dann ist aber auf einmal die Ganze Anwendung falsch, was is da los?
Hoffe das ist noch nicht zu spät ;)
Mach das case vor default weg, dass ist da fehl am platz :)
kenn mich mit c nicht so gut aus aber versuch mal: if (Console.Readline() == "Laune){ Console.WriteLine("freut mich!") }else{ Console.WriteLine("Sorry, Ich habe deine Antwort nicht verstanden"); Console.ReadLine(); } }
Kenne nur Java ein wenig. C# nicht.
Denke folgendes:
Während Integer usw. vergleichbar sind: z.B. if (x = 5) geht das mit Strings nicht. Strings sind - zumindest in Java - Objekttypen und keine einfachen Datentypen wie integer, boolean usw. Bei Objekten kann nicht mit = vergleichen werden.
in Java erbt jedes Objekt die Methode equals(). Vergleiche gehen dann ungefähr so:
If Object1.equals(Object2) ...
Hoffe das ist in C# auch so.
Danke (: