Übung: Zurückgeben von Zahlen aus Methoden
- 10 Minuten
Möglicherweise müssen Sie häufig Zahlen aus Methoden zurückgeben und die Ergebnisse für andere Aufgaben verwenden. In dieser kurzen Übung trainieren Sie die Rückgabe der Datentypen int und double sowie das Erfassen der Rückgabewerte.
Erstellen einer Methode, die einen Integer zurückgibt
Angenommen, Sie bereisen Vietnam und möchten ein kurzes Programm erstellen, das Währungen umwandelt. Sie können davon ausgehen, dass der aktuelle Wechselkurs 1 USD = 23500 VND entspricht. In dieser Aufgabe schreiben Sie eine Methode, die US-Dollar in VND konvertiert.
Löschen Sie im Visual Studio Code-Editor vorhandenen Code aus den vorherigen Übungen.
Geben Sie den folgenden Code in den Visual Studio Code-Editor ein:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }In diesem Schritt initialisieren Sie zwei Variablen, um die USD- und VND-Werte zu speichern. Beachten Sie, dass
vndmit dem Ergebnis derUsdToVnd-Methode initialisiert wird. Die Methode gibt einen ganzzahligen Wert zurück, da VND-Beträge in der Regel in ganzen Zahlen dargestellt werden. Zum Anzeigen der Ergebnisse der Währungsumrechnung wirdConsole.WriteLineverwendet.Als Nächstes fügen Sie Code hinzu, um die Konvertierung durchzuführen. Aktualisieren Sie die
UsdToVnd-Methode mit folgendem Code:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Wenn Sie die Umwandlung aus dem Rückgabeergebnis weglassen, wird der folgende Fehler angezeigt:
Cannot implicitly convert type 'double' to 'int'.Dies geschieht, weil der Compiler versucht, den zurückgegebenen Wert so umzuwandeln, dass er dem in der Methodensignatur angegebenen Datentyp entspricht. Die implizite Umwandlung ist jedoch nur verfügbar, wenn durch die Konvertierung kein Datenverlust auftritt. Der Rückgabewert muss immer mit dem in der Methodensignatur angegebenen Datentyp übereinstimmen. In diesem Fall müssen Sie das Ergebnis daher umwandeln.
Öffnen Sie bei Bedarf das Visual Studio Code-Panel „Integriertes Terminal“.
Geben Sie an der Terminal-Eingabeaufforderung dotnet run ein, und vergleichen Sie Ihre Ausgabe mit Folgendem:
$23.73 USD = $557655 VNDWenn Ihr Code unerwartete Ergebnisse anzeigt, müssen Sie ihn überprüfen, um den Fehler zu finden und Aktualisierungen vorzunehmen. Führen Sie den Code erneut aus, um festzustellen, ob Sie das Problem behoben haben. Fahren Sie mit dem Aktualisieren und Ausführen Ihres Codes fort, bis der Code die erwarteten Ergebnisse generiert.
Erstellen einer Methode, die den double-Datentyp zurückgibt
Als Nächstes erstellen Sie eine Methode zum Konvertieren von VND in USD.
Fügen Sie am Ende der
UsdToVnd-Methode eine neue leere Codezeile hinzu.Geben Sie den folgenden Code ein:
double VndToUsd(int vnd) { }Aktualisieren Sie die
VndToUsd-Methode mit folgendem Code:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }In diesem Fall muss
rateeindouble-Datentyp sein, da der Compiler andernfalls eine ganzzahlige Division verwendet und einen gekürztenint-Wert zurückgibt. USD muss durch eine Dezimalzahl dargestellt werden.Wenn Sie
rateaufintanstelle vondoublefestlegen, werden Sie feststellen, dass der Compiler keine Fehler anzeigt. Dies liegt daran, dass der Wert vonvnd / rateimplizit in den in der Methodensignatur angegebenendouble-Datentyp umgewandelt wird. Beim Erstellen von Methoden, die numerische Werte zurückgeben, ist es wichtig, die Datentypen in den Vorgängen zu berücksichtigen, die Ihre Methode ausführt.Suchen Sie den Aufruf von
Console.WriteLine, und fügen Sie eine neue leere Codezeile an. Geben Sie dann den folgenden Code ein, um die neue Methode aufzurufen und die Ausgabe anzuzeigen:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Arbeit überprüfen
In dieser Aufgabe führen Sie Ihre Anwendung über das integrierte Terminal aus und überprüfen, ob Ihr Code ordnungsgemäß funktioniert. Fangen wir also an.
Vergleichen Sie Ihren Code mit dem folgenden Code, um sicherzustellen, dass er richtig ist:
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; }Speichern Sie Ihre Arbeit mithilfe von STRG + S oder über das Visual Studio Code-Menü „Datei“.
Öffnen Sie bei Bedarf das Visual Studio Code-Panel „Integriertes Terminal“.
Klicken Sie im Panel „Explorer“ mit der rechten Maustaste auf TestProject, und klicken Sie dann auf In integriertem Terminal öffnen, um ein Terminal am Speicherort des TestProject-Ordners zu öffnen.
Geben Sie an der Terminal-Eingabeaufforderung dotnet run ein.
Stellen Sie sicher, dass Ihr Code die folgende Ausgabe erzeugt:
$23.73 USD = $557655 VND $557655 VND = $23.73 USDWenn Ihr Code unterschiedliche Ergebnisse anzeigt, müssen Sie ihn überprüfen, um den Fehler zu finden und Aktualisierungen vorzunehmen. Führen Sie den Code erneut aus, um festzustellen, ob Sie das Problem behoben haben. Fahren Sie mit dem Aktualisieren und Ausführen Ihres Codes fort, bis der Code die erwarteten Ergebnisse generiert.