Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Metodin Parametrit | Metodit
C# Perusteet

bookMetodin Parametrit

Joskus meidän täytyy välittää tietoa metodeille, jotta ne voivat käsitellä tätä tietoa ja antaa meille jonkin tuloksen. Esimerkiksi voimme luoda metodin, joka laskee kolmen luvun summan ja palauttaa tuloksen. Tällainen voidaan toteuttaa käyttämällä metodin parametreja.

Voimme luoda metodin, jolla on parametreja, seuraavalla syntaksilla:

main.cs

main.cs

copy
1234
static void methodName(dataType parameter1, dataType parameter2, ...) { // Code to be executed }

Tässä on esimerkki parametrien käytöstä:

main.cs

main.cs

copy
12345
static void sumOfThree(int a, int b, int c) { int sum = a + b + c; Console.WriteLine($"The sum is {sum}"); }

Huomio

On myös mahdollista kirjoittaa lausekkeita suoraan merkkijonon muotoiluun, joten Console.WriteLine($"The sum is {a + b + c}") on myös sallittu yllä olevassa tapauksessa.

Yllä olevassa koodissa termit a, b ja c edustavat välitettyjä tietoja. Kun kutsumme tällaista metodia, välitämme tiedot sen mukana. Tällaisen metodin suorittamisen/kutsumisen syntaksi on seuraava:

main.cs

main.cs

copy
1
methodName(argument1, argument2, ...);

Esimerkiksi:

main.cs

main.cs

copy
1
sumOfThree(1, 2, 3);

Huomautus

Argumentti on arvo, joka välitetään metodille sitä kutsuttaessa; esimerkiksi 1, 2 ja 3 yllä olevassa esimerkissä ovat argumentteja. Parametri puolestaan on muuttuja, joka määritellään metodin määrittelyssä vastaanottamaan ja käsittelemään näitä argumentteja. Yllä olevassa tapauksessa a, b ja c ovat parametreja.

Tässä on yllä olevan esimerkin koko koodi:

main.cs

main.cs

copy
1234567891011121314151617
using System; namespace ConsoleApp { internal class Program { static void sumOfThree(int a, int b, int c) { Console.WriteLine($"The sum is {a + b + c}"); } static void Main(string[] args) { sumOfThree(1, 2, 3); } } }

Seuraava kuva havainnollistaa kulkua:

Kun metodia kutsutaan, on aina annettava vaadittu määrä argumentteja, muuten koodi ei välttämättä käänny:

main.cs

main.cs

copy
12345678910111213141516171819
using System; namespace ConsoleApp { internal class Program { static void sumOfThree(int a, int b, int c) { int sum = a + b + c; Console.WriteLine($"The sum is {sum}"); } static void Main(string[] args) { //sumOfThree(1, 2); // Error sumOfThree(5, 6, 7); // Valid } } }

Huomio

Yllä olevassa koodissa rivi sumOfThree(1, 2) aiheuttaa virheen, koska annettuja argumentteja on vain 2. Tarvitaan 3.

Lisäksi argumenttien järjestyksen on vastattava metodin määritelmää:

main.cs

main.cs

copy
123456789
static void exampleMethod(int a, string b, bool c) { Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(c); } exampleMethod("Hello", 1, true); // Invalid exampleMethod(true, "Hello", 1); // Invalid exampleMethod(1, "Hello", true); // Correct
question mark

Mikä on kelvollinen tapa kutsua seuraavaa metodia?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 6. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain the difference between parameters and arguments again?

What happens if I pass the arguments in the wrong order?

Can you show more examples of methods with parameters?

Awesome!

Completion rate improved to 1.59

bookMetodin Parametrit

Pyyhkäise näyttääksesi valikon

Joskus meidän täytyy välittää tietoa metodeille, jotta ne voivat käsitellä tätä tietoa ja antaa meille jonkin tuloksen. Esimerkiksi voimme luoda metodin, joka laskee kolmen luvun summan ja palauttaa tuloksen. Tällainen voidaan toteuttaa käyttämällä metodin parametreja.

Voimme luoda metodin, jolla on parametreja, seuraavalla syntaksilla:

main.cs

main.cs

copy
1234
static void methodName(dataType parameter1, dataType parameter2, ...) { // Code to be executed }

Tässä on esimerkki parametrien käytöstä:

main.cs

main.cs

copy
12345
static void sumOfThree(int a, int b, int c) { int sum = a + b + c; Console.WriteLine($"The sum is {sum}"); }

Huomio

On myös mahdollista kirjoittaa lausekkeita suoraan merkkijonon muotoiluun, joten Console.WriteLine($"The sum is {a + b + c}") on myös sallittu yllä olevassa tapauksessa.

Yllä olevassa koodissa termit a, b ja c edustavat välitettyjä tietoja. Kun kutsumme tällaista metodia, välitämme tiedot sen mukana. Tällaisen metodin suorittamisen/kutsumisen syntaksi on seuraava:

main.cs

main.cs

copy
1
methodName(argument1, argument2, ...);

Esimerkiksi:

main.cs

main.cs

copy
1
sumOfThree(1, 2, 3);

Huomautus

Argumentti on arvo, joka välitetään metodille sitä kutsuttaessa; esimerkiksi 1, 2 ja 3 yllä olevassa esimerkissä ovat argumentteja. Parametri puolestaan on muuttuja, joka määritellään metodin määrittelyssä vastaanottamaan ja käsittelemään näitä argumentteja. Yllä olevassa tapauksessa a, b ja c ovat parametreja.

Tässä on yllä olevan esimerkin koko koodi:

main.cs

main.cs

copy
1234567891011121314151617
using System; namespace ConsoleApp { internal class Program { static void sumOfThree(int a, int b, int c) { Console.WriteLine($"The sum is {a + b + c}"); } static void Main(string[] args) { sumOfThree(1, 2, 3); } } }

Seuraava kuva havainnollistaa kulkua:

Kun metodia kutsutaan, on aina annettava vaadittu määrä argumentteja, muuten koodi ei välttämättä käänny:

main.cs

main.cs

copy
12345678910111213141516171819
using System; namespace ConsoleApp { internal class Program { static void sumOfThree(int a, int b, int c) { int sum = a + b + c; Console.WriteLine($"The sum is {sum}"); } static void Main(string[] args) { //sumOfThree(1, 2); // Error sumOfThree(5, 6, 7); // Valid } } }

Huomio

Yllä olevassa koodissa rivi sumOfThree(1, 2) aiheuttaa virheen, koska annettuja argumentteja on vain 2. Tarvitaan 3.

Lisäksi argumenttien järjestyksen on vastattava metodin määritelmää:

main.cs

main.cs

copy
123456789
static void exampleMethod(int a, string b, bool c) { Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(c); } exampleMethod("Hello", 1, true); // Invalid exampleMethod(true, "Hello", 1); // Invalid exampleMethod(1, "Hello", true); // Correct
question mark

Mikä on kelvollinen tapa kutsua seuraavaa metodia?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 6. Luku 4
some-alt