Oefening: parameters gebruiken in methoden

Voltooid

Bij het maken van methoden wilt u vaak bepaalde informatie opgeven voor de methode die moet worden gebruikt. Informatie die door een methode wordt gebruikt, wordt een parameter genoemd. U kunt zoveel parameters opgeven als nodig is om de taak uit te voeren, of helemaal geen parameters.

De termen parameter en argument worden vaak door elkaar gebruikt. Parameter verwijst echter naar de variabele in de methodehandtekening. Het argument is de waarde die wordt doorgegeven wanneer de methode wordt aangeroepen.

Parameters toevoegen aan methoden

Parameters in een methode werken vergelijkbaar met variabelen. Een parameter wordt gedefinieerd door het gegevenstype op te geven, gevolgd door de naam van de parameter. Parameters worden gedeclareerd in de methodehandtekening en de waarden voor de parameters worden geleverd door de aanroeper van de methode in plaats van te worden geïnitialiseerd binnen de methode zelf. Houd rekening met de volgende code:

	CountTo(5);

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

In dit voorbeeld accepteert de methode CountTo een geheel getalparameter met de naam max. Er wordt naar de parameter verwezen in de for lus van de methode. Wanneer CountTo wordt aangeroepen, wordt het gehele getal 5 opgegeven als een argument.

In deze oefening leert u hoe u uw eigen methodeparameters maakt en gebruikt.

Uw coderingsomgeving voorbereiden

Deze module bevat praktische activiteiten die u begeleiden bij het bouwen en uitvoeren van demonstratiecode. U wordt aangeraden deze activiteiten uit te voeren met Visual Studio Code als ontwikkelomgeving. Het gebruik van Visual Studio Code voor deze activiteiten helpt u om comfortabeler code te schrijven en uit te voeren in een ontwikkelomgeving die wordt gebruikt door professionals wereldwijd.

  1. Open Visual Studio Code.

    U kunt de Windows-Startmenu (of een equivalente resource voor een ander besturingssysteem) gebruiken om Visual Studio Code te openen.

  2. Selecteer Map openen in het menu Visual Studio Code-bestand.

  3. Navigeer in het dialoogvenster Open Folder naar de Windows-bureaublad-map.

    Als u een andere maplocatie hebt waar u codeprojecten bewaart, kunt u die maplocatie gebruiken. Voor deze training is het belangrijk om een locatie te hebben die gemakkelijk te vinden en te onthouden is.

  4. Selecteer in het dialoogvenster Map openen de optie Map selecteren.

    Als u een beveiligingsdialoogvenster ziet waarin u wordt gevraagd of u de auteurs vertrouwt, selecteert u Ja.

  5. Selecteer In het menu Visual Studio Code Terminal de optie Nieuwe terminal.

    U ziet dat in een opdrachtprompt in het terminalvenster het mappad voor de huidige map wordt weergegeven. Voorbeeld:

    C:\Users\someuser\Desktop>
    

    Opmerking

    Als u op uw eigen pc werkt in plaats van in een sandbox of gehoste omgeving en u andere Microsoft Learn-modules in deze C#-serie hebt voltooid, hebt u mogelijk al een projectmap gemaakt voor codevoorbeelden. Als dat het geval is, kunt u de volgende stap overslaan, die wordt gebruikt om een console-app te maken in de map TestProject.

  6. Typ in de Terminal-opdrachtprompt om een nieuwe consoletoepassing in een opgegeven map te maken: dotnet new console -o ./CsharpProjects/TestProject en druk vervolgens op Enter.

    Deze .NET CLI-opdracht maakt gebruik van een .NET-programmasjabloon om een nieuw C#-consoletoepassingsproject te maken op de opgegeven maplocatie. Met de opdracht worden de mappen CsharpProjects en TestProject voor u gemaakt en wordt TestProject gebruikt als de naam van het .csproj bestand.

  7. Vouw in het deelvenster EXPLORER de map CsharpProjects uit.

    U ziet de map TestProject en twee bestanden, een C#-programmabestand met de naam Program.cs en een C#-projectbestand met de naam TestProject.csproj.

  8. Selecteer Program.cs in het deelvenster Editor om uw codebestand in het deelvenster Editor weer te geven.

  9. Verwijder de bestaande coderegels.

    U gebruikt dit C#-consoleproject om codevoorbeelden te maken, te bouwen en uit te voeren tijdens deze module.

  10. Sluit het venster Terminal.

Een methode maken met parameters

In deze taak maakt u een methode waarmee geplande tijden worden aangepast aan een andere GMT-tijdzone. De methode moet een lijst met tijden, de huidige tijdzone en de nieuwe tijdzone accepteren. Laten we aan de slag gaan.

  1. Voer de volgende code in de Visual Studio Code-editor in:

    int[] schedule = {800, 1200, 1600, 2000};
    
  2. Als u een methode met parameters wilt maken, voert u de volgende code in op een nieuwe lege regel:

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

    U ziet dat parameters worden gedeclareerd zoals u variabelen declareert, met behulp van het gegevenstype gevolgd door de naam van de variabele. U kunt parameters van elk gegevenstype gebruiken, zoals string, bool, intmatrices en meer! Meerdere parameters in een methode worden altijd door komma's gescheiden.

  3. Voer de volgende code in de DisplayAdjustedTimes methode in:

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

    U ziet dat u de variabelen newGMT niet hoeft te declareren en currentGMT omdat ze al zijn gedeclareerd in de methodehandtekening. U initialiseert de variabelen ook niet, omdat de methode ervan uitgaat dat de aanroeper deze argumenten levert met toegewezen waarden.

    In deze stap maakt int diff u het tijdsverschil op en controleert u vervolgens of de opgegeven GMT-waarden tussen -12 en 12 liggen. Het gebruik Math.Abs geeft u de absolute waarde van een getal, dus de GMT-waarden zijn ongeldig als ze groter zijn dan 12.

  4. Als u het tijdsverschil wilt berekenen, werkt u de DisplayAdjustedTimes methode als volgt bij:

    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 deze code controleert u of u de absolute waarden van de GMT-tijdzones moet optellen of aftrekken om het verschil in uren op te halen. Als de GMT-waarden hetzelfde teken (zowel positief als beide negatief) delen, is het urenverschil gelijk aan het verschil tussen de twee getallen. Als de GMT-waarden tegenovergestelde tekens hebben, is het verschil gelijk aan de som van de twee getallen. Omdat uren in honderden worden weergegeven, vermenigvuldigt u het resultaat met 100.

  5. Als u de resultaten wilt weergeven, voert u de volgende code aan het einde van de DisplayAdjustedTimes methode in:

    for (int i = 0; i < times.Length; i++) 
    {
        int newTime = (times[i] + diff) % 2400;
        Console.WriteLine($"{times[i]} -> {newTime}");
    }
    
  6. Als u uw methode wilt aanroepen, voert u de volgende code in na de int[] schedule variabeledeclaratie:

    DisplayAdjustedTimes(schedule, 6, -6);
    

    U ziet dat zowel variabelen als letterlijke variabelen kunnen worden opgegeven als argumenten voor een methode. Door invoerparameters te gebruiken, is de methode niet beperkt tot het gebruik van de waarden van globale variabelen.

Uw werk controleren

In deze taak voert u uw toepassing uit vanuit de Integrated Terminal en controleert u of uw code correct werkt. Laten we beginnen.

  1. Sla uw werk op met Ctrl + S of met het menu Visual Studio Code File.

  2. 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.

  3. Voer bij de Terminal-opdrachtprompt dotnet run in.

  4. Controleer of uw code de volgende uitvoer produceert:

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

    Als 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.

Samenvatting

Dit is wat u tot nu toe hebt geleerd over parameters:

  • Informatie kan worden doorgegeven aan methoden in de vorm van parameters.
  • Parameters worden gedeclareerd in de methodehandtekening.
  • Meerdere parameters worden gescheiden door komma's.
  • Methoden kunnen variabele of letterlijke argumenten accepteren.