Course Content
C# Basics
C# Basics
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:
main
static void methodName(dataType parameter1, dataType parameter2, ...) { // Code to be executed }
For-example:
main
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:
main
methodName(argument1, argument2, ...);
For-example:
main
sumOfThree(1, 2, 3);
Note
An argument is a value that you pass to a method when calling it, for example
1
,2
, and3
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 casea
,b
, andc
are the parameters.
Here is the full code for the above example:
main
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:
main
static void sumOfThree(int a, int b, int c) { int sum = a + b + c; Console.WriteLine($"The sum is {sum}"); } sumOfThree(1, 2); // Error somOfThree(5, 6, 7); // Valid
Apart from that, the order of the arguments must also match the definition of the method. For-example:
main
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
Everything was clear?