Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Metodparametrar | Metoder
C#-Grunder

bookMetodparametrar

Ibland behöver vi skicka in data till metoder så att de kan bearbeta denna data och ge oss ett resultat. Till exempel kan vi skapa en metod som beräknar summan av tre tal och returnerar resultatet. Detta kan uppnås med hjälp av metodparametrar.

Vi kan skapa en metod med parametrar med följande syntax:

main.cs

main.cs

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

Här är användningen av parametrarna:

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

Obs

Det är också möjligt att skriva uttryck direkt i strängformatering, därför är det giltigt att skriva Console.WriteLine($"The sum is {a + b + c}") i ovanstående fall.

I koden ovan representerar termerna a, b och c de data som skickas in. När vi anropar en sådan metod skickar vi med dessa data. Syntaxen för att köra/anropa en sådan metod är följande:

main.cs

main.cs

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

Till exempel:

main.cs

main.cs

copy
1
sumOfThree(1, 2, 3);

Obs

Ett argument är ett värde som skickas till en metod vid anrop, till exempel 1, 2 och 3 i exemplet ovan är argument. En parameter däremot är en variabel som deklareras i metodens definition för att ta emot och arbeta med dessa argument. I ovanstående fall är a, b och c parametrar.

Här är hela koden för exemplet ovan:

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öljande illustration förklarar flödet:

Vid anrop av en metod måste vi alltid ange rätt antal argument, annars kanske koden inte kompileras:

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

Observera

I koden ovan kommer raden sumOfThree(1, 2) att ge ett fel, eftersom endast 2 argument anges. 3 krävs.

Dessutom måste ordningen på argumenten också stämma överens med metodens definition:

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

Vilket är ett giltigt sätt att anropa följande metod?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookMetodparametrar

Svep för att visa menyn

Ibland behöver vi skicka in data till metoder så att de kan bearbeta denna data och ge oss ett resultat. Till exempel kan vi skapa en metod som beräknar summan av tre tal och returnerar resultatet. Detta kan uppnås med hjälp av metodparametrar.

Vi kan skapa en metod med parametrar med följande syntax:

main.cs

main.cs

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

Här är användningen av parametrarna:

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

Obs

Det är också möjligt att skriva uttryck direkt i strängformatering, därför är det giltigt att skriva Console.WriteLine($"The sum is {a + b + c}") i ovanstående fall.

I koden ovan representerar termerna a, b och c de data som skickas in. När vi anropar en sådan metod skickar vi med dessa data. Syntaxen för att köra/anropa en sådan metod är följande:

main.cs

main.cs

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

Till exempel:

main.cs

main.cs

copy
1
sumOfThree(1, 2, 3);

Obs

Ett argument är ett värde som skickas till en metod vid anrop, till exempel 1, 2 och 3 i exemplet ovan är argument. En parameter däremot är en variabel som deklareras i metodens definition för att ta emot och arbeta med dessa argument. I ovanstående fall är a, b och c parametrar.

Här är hela koden för exemplet ovan:

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öljande illustration förklarar flödet:

Vid anrop av en metod måste vi alltid ange rätt antal argument, annars kanske koden inte kompileras:

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

Observera

I koden ovan kommer raden sumOfThree(1, 2) att ge ett fel, eftersom endast 2 argument anges. 3 krävs.

Dessutom måste ordningen på argumenten också stämma överens med metodens definition:

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

Vilket är ett giltigt sätt att anropa följande metod?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 4
some-alt