Übung – Verwenden von Parametern in Methoden

Abgeschlossen

Beim Erstellen von Methoden sollten Sie häufig einige Informationen für die zu verwendende Methode bereitstellen. Informationen, die von einer Methode verwendet werden, werden als Parameter bezeichnet. Sie können beliebig viele Parameter angeben, um ihre Aufgabe auszuführen, oder gar keine.

Die Begriffe "Parameter" und "Argument" werden häufig austauschbar verwendet. "parameter" verweist jedoch auf die Variable in der Methodensignatur. Das Argument ist der Wert, der beim Aufrufen der Methode übergeben wird.

Hinzufügen von Parametern zu Methoden

Parameter in einer Methode funktionieren ähnlich wie Variablen. Ein Parameter wird durch Angeben des Datentyps definiert, gefolgt vom Namen des Parameters. Parameter werden in der Methodensignatur deklariert, und die Werte für die Parameter werden vom Methodenaufrufer bereitgestellt, anstatt innerhalb der Methode selbst initialisiert zu werden. Beachten Sie den folgenden Code:

	CountTo(5);

	void CountTo(int max) 
	{
		for (int i = 0; i < max; i++)
		{
			Console.Write($"{i}, ");
		}
	}

In diesem Beispiel akzeptiert die Methode CountTo einen ganzzahligen Parameter namens max. Auf den Parameter wird in der for Schleife der Methode verwiesen. Wenn CountTo aufgerufen wird, wird die ganze Zahl 5 als Argument übergeben.

In dieser Übung erfahren Sie, wie Sie eigene Methodenparameter erstellen und verwenden.

Vorbereiten Ihrer Programmierumgebung

Dieses Modul enthält praktische Aktivitäten, die Sie durch den Prozess der Erstellung und Ausführung von Demonstrationscode führen. Es wird empfohlen, diese Aktivitäten mit Visual Studio Code als Entwicklungsumgebung durchzuführen. Die Verwendung von Visual Studio Code für diese Aktivitäten vereinfacht das Schreiben und Ausführen von Code in einer Entwicklerumgebung, die von Expert*innen weltweit verwendet wird.

  1. Öffnen Sie Visual Studio Code.

    Sie können das Windows-Startmenü (oder eine entsprechende Ressource für ein anderes Betriebssystem) verwenden, um Visual Studio Code zu öffnen.

  2. Wählen Sie im Menü "Visual Studio Code-Datei " die Option "Ordner öffnen" aus.

  3. Navigieren Sie im Dialogfeld "Ordner öffnen " zum Windows-Desktopordner.

    Wenn Sie Codeprojekte an einem anderen Ort speichern, können Sie stattdessen diesen Ordnerspeicherort verwenden. Für dieses Training ist es wichtig, einen Ort zu haben, den Sie leicht finden und sich gut merken können.

  4. Wählen Sie im Dialogfeld "Ordner öffnen " die Option "Ordner auswählen" aus.

    Wenn ein Sicherheitsdialogfeld angezeigt wird, in dem Sie gefragt werden, ob Sie den Autoren vertrauen, wählen Sie "Ja" aus.

  5. Wählen Sie im Menü "Visual Studio Code Terminal " die Option "Neues Terminal" aus.

    Beachten Sie, dass eine Eingabeaufforderung im Panel „Terminal“ den Ordnerpfad für den aktuellen Ordner anzeigt. Beispiel:

    C:\Users\someuser\Desktop>
    

    Hinweis

    Wenn Sie auf Ihrem eigenen PC und nicht in einer Sandbox oder gehosteten Umgebung arbeiten und andere Microsoft Learn-Module in dieser C#-Reihe abgeschlossen haben, haben Sie möglicherweise bereits einen Projektordner für Codebeispiele erstellt. In diesem Fall können Sie den nächsten Schritt überspringen, der zum Erstellen einer Konsolen-App im Ordner „TestProject“ verwendet wird.

  6. Um im Terminal eine neue Konsolenanwendung in einem angegebenen Ordner zu erstellen, geben Sie dotnet new console -o ./CsharpProjects/TestProject ein und drücken Sie dann die EINGABETASTE.

    Dieser .NET-CLI-Befehl verwendet eine .NET-Programmvorlage, um ein neues C#-Konsolenanwendungsprojekt am angegebenen Ordnerspeicherort zu erstellen. Der Befehl erstellt die Ordner „CsharpProjects“ und „TestProject“ für Sie und verwendet „TestProject“ als Namen für die .csproj-Datei.

  7. Erweitern Sie im EXPLORER-Bereich den Ordner "CsharpProjects ".

    Nun sollten der Ordner TestProject und zwei Dateien (eine C#-Programmdatei namens Program.cs und eine C#-Projektdatei namens TestProject.csproj) angezeigt werden.

  8. Wählen Sie im EXPLORER-Bereich Program.cs aus, um Ihre Codedatei im Editorbereich anzuzeigen.

  9. Löschen Sie die vorhandenen Codezeilen.

    Sie verwenden dieses C#-Konsolenprojekt zum Erstellen und Ausführen von Codebeispielen im Rahmen dieses Moduls.

  10. Schließen Sie das Panel „Terminal“.

Erstellen einer Methode mit Parametern

In dieser Aufgabe erstellen Sie eine Methode, die geplante Zeiten an eine andere GMT-Zeitzone anpasst. Die Methode sollte eine Liste von Zeiten, die aktuelle Zeitzone und die neue Zeitzone akzeptieren. Fangen wir an!

  1. Geben Sie den folgenden Code in den Visual Studio Code-Editor ein:

    int[] schedule = {800, 1200, 1600, 2000};
    
  2. Um eine Methode mit Parametern zu erstellen, geben Sie den folgenden Code in eine neue leere Zeile ein:

    void DisplayAdjustedTimes(int[] times, int currentGMT, int newGMT) 
    {
    
    }
    

    Beachten Sie, dass Parameter ähnlich wie beim Deklarieren von Variablen deklariert werden, wobei der Datentyp gefolgt vom Variablennamen verwendet wird. Sie können Parameter beliebiger Datentypen verwenden, wie z. B. string, bool, int, Arrays und vieles mehr! Mehrere Parameter in einer Methode sind immer durch Kommas getrennt.

  3. Geben Sie den folgenden Code in die DisplayAdjustedTimes Methode ein:

    int diff = 0;
    if (Math.Abs(newGMT) > 12 || Math.Abs(currentGMT) > 12)
    {
        Console.WriteLine("Invalid GMT");
    }
    

    Beachten Sie, dass Sie die Variablen newGMT nicht deklarieren müssen und currentGMT da sie bereits in der Methodensignatur deklariert sind. Außerdem initialisieren Sie die Variablen nicht, da die Methode davon ausgeht, dass der Aufrufer diese Argumente mit zugewiesenen Werten bereitstellt.

    In diesem Schritt erstellen Sie int diff, um den Zeitunterschied zu speichern, und überprüfen dann, ob die angegebenen GMT-Werte zwischen -12 und 12 liegen. Wenn Sie den Absolutenwert einer Zahl verwenden Math.Abs , sind die GMT-Werte ungültig, wenn sie größer als 12 sind.

  4. Um die Zeitdifferenz zu berechnen, aktualisieren Sie die DisplayAdjustedTimes Methode wie folgt:

    int diff = 0;
    if (Math.Abs(newGMT) > 12 || Math.Abs(currentGMT) > 12)
    {
        Console.WriteLine("Invalid GMT");
    }
    else if (newGMT <= 0 && currentGMT <= 0 || newGMT >= 0 && currentGMT >= 0) 
    {
        diff = 100 * (Math.Abs(newGMT) - Math.Abs(currentGMT));
    } 
    else 
    {
        diff = 100 * (Math.Abs(newGMT) + Math.Abs(currentGMT));
    }
    

    In diesem Code überprüfen Sie, ob Sie die absoluten Werte der GMT-Zeitzonen addieren oder subtrahieren müssen, um die Differenz in Stunden zu ermitteln. Wenn die GMT-Werte dasselbe Vorzeichen (sowohl positiv als auch beide negativ) aufweisen, ist die Stundendifferenz gleich der Differenz zwischen den beiden Zahlen. Wenn die GMT-Werte gegensätzige Zeichen aufweisen, ist die Differenz gleich der Summe der beiden Zahlen. Da Stunden in Hunderten dargestellt werden, multiplizieren Sie das Ergebnis mit 100.

  5. Um die Ergebnisse anzuzeigen, geben Sie den folgenden Code am Ende der DisplayAdjustedTimes Methode ein:

    for (int i = 0; i < times.Length; i++) 
    {
        int newTime = ((times[i] + diff)) % 2400;
        Console.WriteLine($"{times[i]} -> {newTime}");
    }
    
  6. Geben Sie zum Aufrufen der Methode den folgenden Code nach der int[] schedule Variablendeklaration ein:

    DisplayAdjustedTimes(schedule, 6, -6);
    

    Beachten Sie, dass Variablen und Literale als Argumente für eine Methode bereitgestellt werden können. Durch die Verwendung von Eingabeparametern ist die Methode nicht auf die Verwendung der Werte globaler Variablen beschränkt.

Überprüfen Ihrer Arbeit

In dieser Aufgabe führen Sie Ihre Anwendung über das integrierte Terminal aus und überprüfen, ob Ihr Code ordnungsgemäß funktioniert. Fangen wir an.

  1. Speichern Sie Ihre Arbeit mit STRG + S oder mithilfe des Visual Studio Code File-Menüs.

  2. Öffnen Sie bei Bedarf das Visual Studio Code-Panel „Integriertes Terminal“.

    Klicken Sie im EXPLORER-Bereich auf "TestProject", um ein Terminal am Speicherort des TestProject-Ordners zu öffnen, klicken Sie mit der rechten Maustaste auf "TestProject", und wählen Sie dann "In integriertem Terminal öffnen" aus.

  3. Geben Sie an der Terminal-Eingabeaufforderung den Befehl dotnet run ein.

  4. Stellen Sie sicher, dass Ihr Code die folgende Ausgabe erzeugt:

    800 -> 2000
    1200 -> 0
    1600 -> 400
    2000 -> 800
    

    Wenn 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 das Problem behoben wurde. Fahren Sie mit dem Aktualisieren und Ausführen des Codes fort, bis ihr Code die erwarteten Ergebnisse erzeugt.

Rekapitulation

Hier erfahren Sie, was Sie bisher über Parameter gelernt haben:

  • Informationen können in Form von Parametern an Methoden übergeben werden.
  • Parameter werden in der Methodensignatur deklariert.
  • Mehrere Parameter werden durch Kommas getrennt.
  • Methoden können Variablen- oder Literalargumente akzeptieren.