Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Method Parameters | Methods
C# Basics

book
Method Parameters

Sometimes we need to pass some data into the methods so it can process that data and give us some output. For example, we can create a method that calculates the sum of three numbers and outputs the result. Such a thing can be achieved using method parameters.

We can create a method with parameters using the following syntax:

cs

main

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

Here is the usage of the parameters:

cs

main

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

Note

It's also possible to write expressions directly in string formatting, therefore writing Console.WriteLine($"The sum is {a + b + c}") is also valid in the above case.

In the above code the terms a, b, and c represent the passed data. When we are calling such a method we pass the data along with it. The syntax for executing/calling such a method is the following:

cs

main

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

For example:

cs

main

copy
sumOfThree(1, 2, 3);
1
sumOfThree(1, 2, 3);

Note

An argument is a value that you pass to a method when calling it, for example 1, 2, and 3 in the above example are arguments. On the other hand, a parameter is a variable declared in the method's definition to receive and work with those arguments. In the above case a, b, and c are the parameters.

Here is the full code for the above example:

cs

main

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

The following illustration explains the flow:

When calling a method, we must always provide the required amount of arguments, otherwise, the code might not compile:

cs

main

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

Note

In the code above, line sumOfThree(1, 2) will throw an error, because there are only 2 arguments provided. Required 3.

Apart from that, the order of the arguments must also match the definition of the method:

cs

main

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

What is a valid way to call the following method?

// Outputs some text `n` number of times.
static void myMethod(string text, int n) {
for(int i = 0; i < n; i++) {
Console.WriteLine(text);
}
}

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 4

Spørg AI

expand
ChatGPT

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

We use cookies to make your experience better!
some-alt