Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Metodeparametere | Metoder
C#-Grunnleggende

bookMetodeparametere

Noen ganger må vi sende inn data til metodene slik at de kan behandle disse dataene og gi oss et resultat. For eksempel kan vi lage en metode som beregner summen av tre tall og viser resultatet. Dette kan oppnås ved å bruke metodeparametere.

Vi kan lage en metode med parametere ved å bruke følgende syntaks:

main.cs

main.cs

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

Her er bruk av parameterne:

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}"); }

Merk

Det er også mulig å skrive uttrykk direkte i strengformatering, derfor er det gyldig å skrive Console.WriteLine($"The sum is {a + b + c}") i eksempelet ovenfor.

I koden ovenfor representerer begrepene a, b og c de overførte dataene. Når vi kaller en slik metode, sender vi dataene sammen med den. Syntaksen for å utføre/kalle en slik metode er følgende:

main.cs

main.cs

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

For eksempel:

main.cs

main.cs

copy
1
sumOfThree(1, 2, 3);

Merk

Et argument er en verdi du sender til en metode når du kaller den, for eksempel 1, 2 og 3 i eksempelet ovenfor er argumenter. På den andre siden er en parameter en variabel som er deklarert i metodens definisjon for å motta og arbeide med disse argumentene. I dette tilfellet er a, b og c parameterne.

Her er hele koden for eksempelet ovenfor:

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); } } }

Følgende illustrasjon forklarer flyten:

Når en metode kalles, må vi alltid oppgi riktig antall argumenter, ellers kan det hende at koden ikke kompileres:

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 } } }

Merk

I koden ovenfor vil linjen sumOfThree(1, 2) kaste en feil, fordi det kun er gitt 2 argumenter. Det kreves 3.

I tillegg må rekkefølgen på argumentene også samsvare med definisjonen av metoden:

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

Hva er en gyldig måte å kalle følgende metode på?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 6. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 1.59

bookMetodeparametere

Sveip for å vise menyen

Noen ganger må vi sende inn data til metodene slik at de kan behandle disse dataene og gi oss et resultat. For eksempel kan vi lage en metode som beregner summen av tre tall og viser resultatet. Dette kan oppnås ved å bruke metodeparametere.

Vi kan lage en metode med parametere ved å bruke følgende syntaks:

main.cs

main.cs

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

Her er bruk av parameterne:

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}"); }

Merk

Det er også mulig å skrive uttrykk direkte i strengformatering, derfor er det gyldig å skrive Console.WriteLine($"The sum is {a + b + c}") i eksempelet ovenfor.

I koden ovenfor representerer begrepene a, b og c de overførte dataene. Når vi kaller en slik metode, sender vi dataene sammen med den. Syntaksen for å utføre/kalle en slik metode er følgende:

main.cs

main.cs

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

For eksempel:

main.cs

main.cs

copy
1
sumOfThree(1, 2, 3);

Merk

Et argument er en verdi du sender til en metode når du kaller den, for eksempel 1, 2 og 3 i eksempelet ovenfor er argumenter. På den andre siden er en parameter en variabel som er deklarert i metodens definisjon for å motta og arbeide med disse argumentene. I dette tilfellet er a, b og c parameterne.

Her er hele koden for eksempelet ovenfor:

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); } } }

Følgende illustrasjon forklarer flyten:

Når en metode kalles, må vi alltid oppgi riktig antall argumenter, ellers kan det hende at koden ikke kompileres:

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 } } }

Merk

I koden ovenfor vil linjen sumOfThree(1, 2) kaste en feil, fordi det kun er gitt 2 argumenter. Det kreves 3.

I tillegg må rekkefølgen på argumentene også samsvare med definisjonen av metoden:

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

Hva er en gyldig måte å kalle følgende metode på?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 6. Kapittel 4
some-alt