Esercizio - Restituire numeri dai metodi
- 10 minuti
È spesso necessario restituire numeri dai metodi e usare i risultati per altre attività. In questo breve esercizio si farà pratica con la restituzione dei tipi di dati int e double e con l'acquisizione dei valori restituiti.
Creare un metodo che restituisca un intero
Si supponga di visitare il Vietnam e di voler creare un breve programma che converte la valuta. Si supponga che il tasso di cambio corrente sia 1 USD = 23500 VND. In questa attività si scriverà un metodo che converte USD in VND.
Nell'editor di Visual Studio Code eliminare qualsiasi codice esistente dagli esercizi precedenti.
Immettere il codice seguente nel pannello Editor di Visual Studio Code:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }In questo passaggio si inizializzano due variabili per archiviare i valori USD e VND. Si noti che
vndviene inizializzato al risultato del metodoUsdToVnd. Il metodo restituisce un valore intero poiché VND è in genere rappresentato in numeri interi. Per visualizzare i risultati della conversione della valuta, viene usatoConsole.WriteLine.Successivamente, si aggiungerà il codice per eseguire la conversione. Aggiornare il metodo
UsdToVndcon il codice seguente:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Se si omette il cast dal risultato restituito, verrà visualizzato l'errore seguente:
Cannot implicitly convert type 'double' to 'int'.Ciò avviene perché il compilatore tenta di eseguire il cast del valore restituito in modo che corrisponda al tipo di dati specificato nella firma del metodo. Tuttavia, il cast implicito è disponibile solo quando non si verifica alcuna perdita di dati in seguito alla conversione. Il valore restituito deve sempre corrispondere al tipo di dati specificato nella firma del metodo, quindi in questo caso è necessario eseguire il cast del risultato.
Se necessario, aprire il pannello Terminale integrato di Visual Studio Code.
Al prompt dei comandi del terminale immettere dotnet run e confrontare l'output con quanto segue:
$23.73 USD = $557655 VNDSe il codice visualizza risultati imprevisti, è necessario esaminarlo per trovare l'errore e apportare aggiornamenti. Eseguire di nuovo il codice per verificare se il problema è stato risolto. Continuare ad aggiornare ed eseguire il codice fino a quando non produce i risultati previsti.
Creare un metodo che restituisce un doppio
Successivamente, si creerà un metodo per convertire VND nuovamente in USD.
Creare una nuova riga di codice vuota alla fine del metodo
UsdToVnd.Immetti il codice seguente:
double VndToUsd(int vnd) { }Aggiornare il metodo
VndToUsdcon il codice seguente:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }In questo caso, è necessario che
ratesia undoubleoppure il compilatore userà la divisione integer e restituirà un valoreinttroncato. USD deve essere rappresentato da un numero decimale.Se si imposta
ratesu unintanzichédouble, si noterà che il compilatore non presenta errori. Ciò avviene perché il valorevnd / rateviene eseguito in modo implicito al tipo di datidoublespecificato nella firma del metodo. Quando si creano metodi che restituiscono valori numerici, è importante considerare i tipi di dati nelle operazioni eseguite dal metodo.Individuare la chiamata a
Console.WriteLinee aggiungere una nuova riga di codice vuota. Immettere quindi il codice seguente per chiamare il nuovo metodo e stampare l'output:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Controlla il tuo lavoro
In questa attività si eseguirà l'applicazione dal terminale integrato e si verificherà che il codice funzioni correttamente. Iniziamo.
Confrontare il codice con quanto segue per assicurarsi che sia corretto:
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; }Salvare il lavoro premendo CTRL + S o usando il menu File di Visual Studio Code.
Se necessario, aprire il pannello Terminale integrato di Visual Studio Code.
Nel pannello ESPLORA RISORSE per aprire un terminale nel percorso della cartella TestProject, fare clic con il pulsante destro del mouse su TestProject e quindi scegliere Apri nel terminale integrato.
Al prompt dei comandi del terminale immettere dotnet run
Verificare che il codice produca l'output seguente:
$23.73 USD = $557655 VND $557655 VND = $23.73 USDSe il codice visualizza risultati diversi, è necessario esaminarlo per trovare l'errore e apportare aggiornamenti. Eseguire di nuovo il codice per verificare se il problema è stato risolto. Continuare ad aggiornare ed eseguire il codice fino a quando non produce i risultati previsti.