Oefening: de voorwaardelijke operator implementeren
- 7 minuten
Stel dat u snel moet bepalen of de aankoop van een klant in aanmerking komt voor een promotiekorting. De details voor de promotie geven aan dat wanneer een aankoopwaarde groter is dan 1000 euro, de aankoop in aanmerking komt voor een korting van 100 euro. Als het aankoopbedrag 1000 euro of minder is, komt de aankoop in aanmerking voor een korting van 50 euro.
Hoewel u de if ... elseif ... else vertakkingsconstructie zeker kunt gebruiken om deze bedrijfsregel uit te drukken, is het misschien een betere keuze door de voorwaardelijke operator te gebruiken om geschiktheid voor de promotiekorting te evalueren. De voorwaardelijke operator maakt gebruik van een compacte indeling, waardoor er minder regels code nodig zijn. Hierdoor wordt de intentie van de code een stuk duidelijker.
Wat is de voorwaardelijke operator?
De voorwaardelijke operator?: evalueert een Boole-expressie en retourneert een van de twee resultaten, afhankelijk van of de Boole-expressie waar of onwaar oplevert. De voorwaardelijke operator wordt meestal de ternaire voorwaardelijke operator genoemd.
Dit is het uitgangspunt:
<evaluate this condition> ? <if condition is true, return this value> : <if condition is false, return this value>
Neem even de tijd om na te gaan hoe u de voorwaardelijke operator zou toepassen op het scenario met promotiekortingen. Het doel is om een bericht weer te geven aan de klant met het kortingspercentage. Het bedrag van hun korting wordt gebaseerd op of ze meer dan 1000 euro aan hun aankoop hebben besteed.
Code toevoegen die gebruikmaakt van een voorwaardelijke operator
Zorg ervoor dat u een leeg Program.cs bestand hebt geopend in Visual Studio Code. Open Zo nodig Visual Studio Code en voer vervolgens de volgende stappen uit om een Program.cs-bestand voor te bereiden in de editor:
- In het menu Bestand selecteer Map openen.
- Gebruik het dialoogvenster Map openen om naar de map CsharpProjects te navigeren en vervolgens te openen.
- Selecteer Program.cs in het deelvenster Visual Studio Code EXPLORER.
- Selecteer Alles selecteren in het menu Selectie van Visual Studio Code en druk vervolgens op Delete.
Typ de volgende code in de Visual Studio Code Editor.
int saleAmount = 1001; int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {discount}");Selecteer Opslaan in het menu Visual Studio Code File.
Het Program.cs-bestand moet worden opgeslagen voordat u de code bouwt of uitvoert.
Klik in het deelvenster EXPLORER om een Terminal te openen op de locatie van de map TestProject met de rechtermuisknop op TestProject en selecteer Vervolgens Openen in geïntegreerde terminal.
Er moet nu een terminalvenster met een opdrachtprompt worden geopend. In de opdrachtprompt wordt het mappad voor de locatie van de TestProject-map weergegeven.
Typ dotnet-run bij de Terminal-opdrachtprompt en druk op Enter om uw code uit te voeren.
Wanneer u de code uitvoert, ziet u de volgende uitvoer:
Discount: 100
De voorwaardelijke operator inline gebruiken
U kunt deze code nog meer comprimeren door de tijdelijke variabele discountte elimineren.
Werk uw code als volgt bij in de Visual Studio Code-editor:
int saleAmount = 1001; // int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {(saleAmount > 1000 ? 100 : 50)}");Selecteer Opslaan in het menu Visual Studio Code File.
Typ dotnet-run bij de Terminal-opdrachtprompt en druk op Enter om uw code uit te voeren.
U ziet dat de uitvoer hetzelfde is.
Neem even de tijd om de bijgewerkte
Console.WriteLine()instructie te bekijken.U ziet dat het nodig is om de volledige instructie van de voorwaardelijke operator tussen haakjes te verpakken. De haakjes zorgen ervoor dat de runtime uw intentie begrijpt, namelijk het weergeven van het voorwaardelijke resultaat in plaats van het resultaat van het evalueren van de voorwaarde (saleAmount > 1000).
Notitie
Hoewel dit specifieke voorbeeld compact is en laat zien wat er mogelijk is, is het een beetje moeilijker te lezen. Het is niet altijd een goed idee om regels code te combineren, met name wanneer dit de algehele leesbaarheid van uw code nadelig beïnvloedt. Deze beslissing is vaak een subjectieve inschatting.
Samenvatting
Onthoud de volgende feiten over de voorwaardelijke operator:
- U kunt de voorwaardelijke operator gebruiken om de grootte van uw code te verkleinen, maar u moet ervoor zorgen dat de resulterende code gemakkelijk leesbaar is.
- U kunt de voorwaardelijke operator gebruiken wanneer u een waarde wilt retourneren die is gebaseerd op een binaire voorwaarde. Uw code retourneert de eerste optie wanneer de voorwaarde waar oplevert en retourneert de tweede optie wanneer de voorwaarde onwaar oplevert.