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

bookMetodeparametre

Nogle gange har vi brug for at videregive data til metoder, så de kan behandle disse data og give os et output. For eksempel kan vi oprette en metode, der beregner summen af tre tal og returnerer resultatet. Dette kan opnås ved hjælp af metodeparametre.

Vi kan oprette en metode med parametre ved at bruge følgende syntaks:

main.cs

main.cs

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

Her er brugen af parametrene:

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

Bemærk

Det er også muligt at skrive udtryk direkte i strengformatering, så det er også gyldigt at skrive Console.WriteLine($"The sum is {a + b + c}") i ovenstående tilfælde.

I ovenstående kode repræsenterer termerne a, b og c de overførte data. Når vi kalder en sådan metode, sender vi dataene med. Syntaksen for at udføre/kalde en sådan 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);

Bemærk

Et argument er en værdi, du sender til en metode, når du kalder den. For eksempel er 1, 2 og 3 i ovenstående eksempel argumenter. Omvendt er en parameter en variabel, der er erklæret i metodens definition for at modtage og arbejde med disse argumenter. I ovenstående tilfælde er a, b og c parametrene.

Her er den fulde kode for ovenstående eksempel:

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 illustration forklarer forløbet:

Når en metode kaldes, skal det nødvendige antal argumenter altid angives, ellers kan koden muligvis 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 } } }

Bemærk

I koden ovenfor vil linjen sumOfThree(1, 2) give en fejl, fordi der kun er angivet 2 argumenter. Der kræves 3.

Derudover skal rækkefølgen af argumenterne også matche definitionen af 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

Hvad er en gyldig måde at kalde følgende metode på?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 1.59

bookMetodeparametre

Stryg for at vise menuen

Nogle gange har vi brug for at videregive data til metoder, så de kan behandle disse data og give os et output. For eksempel kan vi oprette en metode, der beregner summen af tre tal og returnerer resultatet. Dette kan opnås ved hjælp af metodeparametre.

Vi kan oprette en metode med parametre ved at bruge følgende syntaks:

main.cs

main.cs

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

Her er brugen af parametrene:

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

Bemærk

Det er også muligt at skrive udtryk direkte i strengformatering, så det er også gyldigt at skrive Console.WriteLine($"The sum is {a + b + c}") i ovenstående tilfælde.

I ovenstående kode repræsenterer termerne a, b og c de overførte data. Når vi kalder en sådan metode, sender vi dataene med. Syntaksen for at udføre/kalde en sådan 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);

Bemærk

Et argument er en værdi, du sender til en metode, når du kalder den. For eksempel er 1, 2 og 3 i ovenstående eksempel argumenter. Omvendt er en parameter en variabel, der er erklæret i metodens definition for at modtage og arbejde med disse argumenter. I ovenstående tilfælde er a, b og c parametrene.

Her er den fulde kode for ovenstående eksempel:

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 illustration forklarer forløbet:

Når en metode kaldes, skal det nødvendige antal argumenter altid angives, ellers kan koden muligvis 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 } } }

Bemærk

I koden ovenfor vil linjen sumOfThree(1, 2) give en fejl, fordi der kun er angivet 2 argumenter. Der kræves 3.

Derudover skal rækkefølgen af argumenterne også matche definitionen af 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

Hvad er en gyldig måde at kalde følgende metode på?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 4
some-alt