Mr Speicher
Neu angemeldet
- Registriert
- 22 Dez. 2013
- Beiträge
- 83
Hallo, wie die Überschrift schon sagt, habe ich zu folgenden drei Dingen eine.
Die erste Frage betrifft den Datentyp bool. Bool selber kann ja nur entweder true oder false sein.
Wie kann ich jetzt aber z.B. eine bestimmte Zahl, ein Buchstabe oder ein Wort festlegen das True ist und alles andere False. In meinen Büchern zu C# steht auch nur sehr wenig bis gar nichts zu bool, also nicht die Zuweisung wie ich sie suche.
Folgendes Beispiel habe ich erstellt, es wird ein Wert von der Tastatur eingelesen. Bei "J" wird der bool true, bei allem anderen false. Realisiert habe ich das Ganze mittels einer IF-Abfrage. Gibt es noch eine andere, kürzere Möglichkeit die Sache zu realsieren ? Eine direkte Zuweisung nach dem Motto bool antwort = "J" = true;
antwort= Console.Readline();
Die nächsten Frage betreffen if und switch.
Zunächst if, ist es nicht möglich in der Bedingung, auf mehrere Werte zu prüfen ?
Beispiel: Wir haben eine int zahl = 6; in der einer ersten if-Bedingung wäre es jetzt möglich zu prüfen ob die Zahl z.b. kleiner als 4 ist. if (zahl < 4) ....... ist es nun richtig, dass man in einer Bedingung aber z.B. nicht prüfen kann ob die Zahl größer 5 oder kleiner 10 ist ?
if (zahl >5 | < 10)...... führt dann zu dem Fehler ungültiger Ausdruck bei < 10. Selbst mit zwei Variablen die den Wert 5 und 10 enthalten ist es nicht möglich.
Beispielcode:
Ähnliche Frage bei switch. Ist es richtig das in der Case-Bedingung eine Zahl nicht auf < oder > geprüft werden kann ?
Die Prüfung auf Zahl 5 funktioniert im Beispielcode, die anderen Varianten nicht, Fehler ungültiger Ausdruck für < >.
Beispielcode:
Die erste Frage betrifft den Datentyp bool. Bool selber kann ja nur entweder true oder false sein.
Wie kann ich jetzt aber z.B. eine bestimmte Zahl, ein Buchstabe oder ein Wort festlegen das True ist und alles andere False. In meinen Büchern zu C# steht auch nur sehr wenig bis gar nichts zu bool, also nicht die Zuweisung wie ich sie suche.
Folgendes Beispiel habe ich erstellt, es wird ein Wert von der Tastatur eingelesen. Bei "J" wird der bool true, bei allem anderen false. Realisiert habe ich das Ganze mittels einer IF-Abfrage. Gibt es noch eine andere, kürzere Möglichkeit die Sache zu realsieren ? Eine direkte Zuweisung nach dem Motto bool antwort = "J" = true;
antwort= Console.Readline();
[src=csharp]
string eingabe;
bool antwort;
Console.WriteLine("Eingabe machen: ");
eingabe = Console.ReadLine();
if (eingabe == "j")
{
antwort = true;
}
else
{
antwort = false;
}
Console.WriteLine(antwort);[/src]
string eingabe;
bool antwort;
Console.WriteLine("Eingabe machen: ");
eingabe = Console.ReadLine();
if (eingabe == "j")
{
antwort = true;
}
else
{
antwort = false;
}
Console.WriteLine(antwort);[/src]
Die nächsten Frage betreffen if und switch.
Zunächst if, ist es nicht möglich in der Bedingung, auf mehrere Werte zu prüfen ?
Beispiel: Wir haben eine int zahl = 6; in der einer ersten if-Bedingung wäre es jetzt möglich zu prüfen ob die Zahl z.b. kleiner als 4 ist. if (zahl < 4) ....... ist es nun richtig, dass man in einer Bedingung aber z.B. nicht prüfen kann ob die Zahl größer 5 oder kleiner 10 ist ?
if (zahl >5 | < 10)...... führt dann zu dem Fehler ungültiger Ausdruck bei < 10. Selbst mit zwei Variablen die den Wert 5 und 10 enthalten ist es nicht möglich.
Beispielcode:
[src=csharp]
int zahl = 6;
int zahl2 = 5;
int zahl3= 10;
if (zahl < 4)
{
Console.WriteLine("Test test");
}
else if (zahl >5 | < 10)
{
Console.WriteLine("Test test");
}
else if (zahl > zahl2 | < zahl3)
{
Console.WriteLine("Test test");
}[/src]
int zahl = 6;
int zahl2 = 5;
int zahl3= 10;
if (zahl < 4)
{
Console.WriteLine("Test test");
}
else if (zahl >5 | < 10)
{
Console.WriteLine("Test test");
}
else if (zahl > zahl2 | < zahl3)
{
Console.WriteLine("Test test");
}[/src]
Ähnliche Frage bei switch. Ist es richtig das in der Case-Bedingung eine Zahl nicht auf < oder > geprüft werden kann ?
Die Prüfung auf Zahl 5 funktioniert im Beispielcode, die anderen Varianten nicht, Fehler ungültiger Ausdruck für < >.
Beispielcode:
[src=csharp]
int zahl = 6;
int zahl1= 5;
int zahl2 = 10;
switch (zahl)
{
case 5:
Console.WriteLine("Test test");
break;
case >5:
Console.WriteLine("Test test");
break;
case >7 | < 10:
Console.WriteLine("Test test");
break;
case > zahl1 | < zahl2:
Console.WriteLine("Test test");
break;
}[/src]
int zahl = 6;
int zahl1= 5;
int zahl2 = 10;
switch (zahl)
{
case 5:
Console.WriteLine("Test test");
break;
case >5:
Console.WriteLine("Test test");
break;
case >7 | < 10:
Console.WriteLine("Test test");
break;
case > zahl1 | < zahl2:
Console.WriteLine("Test test");
break;
}[/src]