C# Zusammenfassung von mehreren If-Abfragen

cholimba

Newbie
Registriert
Dez. 2021
Beiträge
4
Moin,
ich hab mich heute spontan dazu entschlossen endlich mal anzufangen mir Programmieren beizubringen. Hab mir jetzt schon das eine oder andere Video angeschaut und war jetzt eben bei If-Abfragen und check sie ansich schon jedoch kommen sie mir irgendwie unpraktisch vor.
Deswegen jetzt die Frage:
Ich habe ja zwei Integer alter1 und alter2. Um sozusagen wie als eine Art Türsteher, zu prüfen ob sie eben alt genug sind oder nicht hätte ich eben den Code weiter unten geschrieben. Ganz simpel. Jedoch störts mich irgendwie dass ich den ganzen gedöns einfach Copy Pasten muss. Gibts da nicht eine bessere Lösung? Also kann ich nicht irgendwie dem Programm sagen, " zuerst einmal mit alter1 die IF-Abfrage durchgehen, dann mit alter2 und dann mit alterx". Bis es eben keine Integer mehr hat.
Wahrscheinlich gibts ne ganz einfache Möglichkeit, aber eben bin noch neu auf dem Gebiet und hab jetzt in der letzten Stunde auch nicht wirklich was gefunden.
Grüße und danke im Voraus

Es ist c# btw
1639256272785.png
 
Du kannst mit && (= und) und || (= oder) boolsche Ausdrücke verknüpfen.

if (alter1 >= 18 || alter2 >= 18) { ... } else { ... }

Also quasi "WENN alter1 größer-gleich 18 ODER alter2 größer-gleich 18, DANN ... SONST ..."
 
  • Gefällt mir
Reaktionen: Mordi
Ja ich weiß nicht wie ich die 2. If Abfrage sozusagen in die erste Packe. Wir nehmen eben an, wir haben nicht nur alter1 und 2 sondern eben bis alterx.
 
cholimba schrieb:
Ganz simpel. Jedoch störts mich irgendwie dass ich den ganzen gedöns einfach Copy Pasten muss. Gibts da nicht eine bessere Lösung? Also kann ich nicht irgendwie dem Programm sagen, " zuerst einmal mit alter1 die IF-Abfrage durchgehen, dann mit alter2 und dann mit alterx". Bis es eben keine Integer mehr hat.
Stichwort Funktionen.
Schreib eine Funktion, welche die Altersprüfung macht und rufe sie mehrmals auf
https://docs.microsoft.com/de-de/dotnet/csharp/programming-guide/classes-and-structs/local-functions

Gibt's bestimmt auch Videos dazu.
 
  • Gefällt mir
Reaktionen: Raijin, tollertyp und Mordi
benneq schrieb:
Du kannst mit && (= und) und || (= oder) boolsche Ausdrücke verknüpfen.

if (alter1 >= 18 || alter2 >= 18) { ... } else { ... }

Also quasi "WENN alter1 größer-gleich 18 ODER alter2 größer-gleich 18, DANN ... SONST ..."
Ja aber dann krieg ich doch in der Console nur von einem die Rückmeldung oder? Und nicht sozusagen von allen angegebenen Integern.
Zu Drewkev:
Schau ich mir gleich mal an.
Zu Mordenkainen:
Ja genau
Zu KitKat:
Danke, schau ich mir auch gleich mal an
 
Boolsche Algebra und/oder Arrays und Schleifen.
 
  • Gefällt mir
Reaktionen: Drewkev
cholimba schrieb:
Ja aber dann krieg ich doch in der Console nur von einem die Rückmeldung oder?
Ja, dann bekommst du nur eine Ausgabe. Es kommt halt darauf an was dein Programm im Detail machen soll. In dem Code, den ich gepostet habe ist das if erfolgreich, wenn eine von beiden Personen Ü18 ist. Mit einem && statt || wäre es nur erfolgreich, wenn BEIDE Ü18 sind.

Wenn du allerdings eine Ausgabe pro Person (für eine beliebige Anzahl von Personen) haben willst, dann sind die bereits genannten "Schleifen" und "Arrays" (oder Listen) das Mittel der Wahl.
 
Wie schon geschrieben eignen sich hier Schleifen (für den Anfang) ganz gut. Stichworte hier sind „for“ und „foreach“.
Funktionen natürlich auch, aber wenn du noch am Anfang stehst, sind die Schleifen Basics, die du mal gemacht haben solltest mMn
 
Schleifen oder Funktionen führen beide ans Ziel wenn richtig gemacht. Für Schleifen muss aber mehr umgebaut werden aus meiner Sicht. Der einfachere Weg wäre eine Funktion, die man auch aus der Schleife heraus aufrufen könnte.

Und vielleicht wäre ein eigener Datentyp (Klasse Gast) sinnvoll, der das Alter kapselt, aber vermutlich geht das an der Stelle schon zu weit.
 
  • Gefällt mir
Reaktionen: Raijin
tollertyp schrieb:
Schleifen oder Funktionen führen beide ans Ziel wenn richtig gemacht.
Ich würde eher sagen, dass beides Hand in Hand geht. Also kein oder sondern eher ein und

Eine Schleife, die ein Alter-Array durchläuft und für jeden Wert eine Funktion aufruft. So hat man einerseits einen Mechanismus, mit dem der "Türsteher" beliebig viele "Gäste" auf ihr Alter prüfen kann (=> die Schleife) und auf der anderen Seite hat man schlanken Code, weil man die eigentliche Altersüberprüfung kapselt.
 
  • Gefällt mir
Reaktionen: tollertyp
@Raijjn: Ähm, das habe ich doch auch geschrieben... aber klar, man kann auch nur einen Satz nehmen und auf den antworten. kopfschüttel
 
Es ist spät und ich hab offen gestanden nur den Part mit Datentyp und Klasse behalten als ich nach dem Zitieren nochmal den ganzen Thread durchgelesen habe. Mea culpa. Aber dann sind wir ja einer Meinung und darauf kommt es an :schluck:
 
  • Gefällt mir
Reaktionen: tollertyp
Passiert, hab in einem anderen Thread quasi dasselbe gemacht (nur ohne ZItat) ;-)
 
  • Gefällt mir
Reaktionen: Raijin
Zurück
Oben