Oefening: getallen retourneren van methoden
- 10 minuten
Mogelijk moet u vaak getallen van methoden retourneren en de resultaten voor andere taken gebruiken. In deze korte oefening oefent u met het retourneren int en double verzamelen van gegevenstypen en het vastleggen van de retourwaarden.
Een methode maken waarmee een geheel getal wordt geretourneerd
Stel dat u Vietnam bezoekt en een kort programma wilt maken dat valuta converteert. U kunt aannemen dat de huidige wisselkoers is 1 USD = 23500 VND. In deze taak schrijft u een methode waarmee USD wordt geconverteerd naar VND.
Verwijder in de Visual Studio Code-editor alle bestaande code uit de vorige oefeningen.
Voer de volgende code in de Visual Studio Code-editor in:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }In deze stap initialiseert u twee variabelen om de USD- en VND-waarden op te slaan. U ziet dat
vndhet resultaat van de methodeUsdToVndis geïnitialiseerd. De methode retourneert een geheel getal omdat VND doorgaans wordt weergegeven in gehele getallen. Als u de resultaten van de valutaconversie wilt weergeven,Console.WriteLinewordt deze gebruikt.Vervolgens voegt u code toe om de conversie uit te voeren. Werk de
UsdToVndmethode bij met de volgende code:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Als u de cast weglaat uit het resulterende resultaat, ziet u de volgende fout:
Cannot implicitly convert type 'double' to 'int'.Dit gebeurt omdat de compiler probeert de geretourneerde waarde te casten zodat deze overeenkomt met het gegevenstype dat is opgegeven in de methodehandtekening. Impliciete cast-conversie is echter alleen beschikbaar wanneer er geen gegevensverlies optreedt als gevolg van de conversie. De retourwaarde moet altijd overeenkomen met het gegevenstype dat is opgegeven in de methodehandtekening, dus in dit geval moet u het resultaat casten.
Open zo nodig het geïntegreerde terminalpaneel van Visual Studio Code.
Voer in de Terminal-opdrachtprompt dotnet-uitvoering in en vergelijk uw uitvoer met het volgende:
$23.73 USD = $557655 VNDAls uw code onverwachte resultaten weergeeft, moet u uw code controleren om uw fout te vinden en updates aan te brengen. Voer de code opnieuw uit om te zien of u het probleem hebt opgelost. Ga door met het bijwerken en uitvoeren van uw code totdat uw code de verwachte resultaten produceert.
Een methode maken die een dubbele waarde retourneert
Vervolgens maakt u een methode om VND weer te converteren naar USD.
Maak een nieuwe lege coderegel aan het einde van de
UsdToVndmethode.Voer de volgende code in:
double VndToUsd(int vnd) { }Werk de
VndToUsdmethode bij met de volgende code:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }In dit geval moet
rateu eendoubleof andere compiler een geheel getal delen en een afgekapteintwaarde retourneren. USD moet worden vertegenwoordigd door een decimaal getal.Als u deze optie instelt
rateop eenintin plaats vandouble, ziet u dat de compiler u niet met fouten presenteert. Dit gebeurt omdat de waardevnd / rateimpliciet wordt omgezet in hetdoublegegevenstype dat is opgegeven in de methodehandtekening. Bij het maken van methoden die numerieke waarden retourneren, is het belangrijk om rekening te houden met de gegevenstypen in de bewerkingen die uw methode uitvoert.Zoek de aanroep naar
Console.WriteLineen voeg een nieuwe lege coderegel toe. Voer vervolgens de volgende code in om de nieuwe methode aan te roepen en de uitvoer af te drukken:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Controleer uw werk
In deze taak voert u onze toepassing uit vanuit de Integrated Terminal en controleert u of uw code correct werkt. Laten we aan de slag gaan.
Vergelijk uw code met het volgende om te controleren of deze juist is:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD"); int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); } double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }Sla uw werk op met Ctrl + S of met het menu Visual Studio Code File.
Open zo nodig het geïntegreerde terminalpaneel van Visual Studio Code.
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.
Voer bij de Terminal-opdrachtprompt dotnet-uitvoering in
Controleer of uw code de volgende uitvoer produceert:
$23.73 USD = $557655 VND $557655 VND = $23.73 USDAls uw code verschillende resultaten weergeeft, moet u uw code controleren om uw fout te vinden en updates aan te brengen. Voer de code opnieuw uit om te zien of u het probleem hebt opgelost. Ga door met het bijwerken en uitvoeren van uw code totdat uw code de verwachte resultaten produceert.