A function is a reusable block of code that performs a specific task when called or invoked from elsewhere in the program.
Functions are a fundamental part of programming, as they allow dividing the code into smaller, more manageable units (this facilitates understanding, maintenance, and debugging of software).
If you want to learn more about Functions
check the Introduction to Programming Course read more
Functions in C# can take zero or more parameters as input, perform calculations or manipulations based on those parameters, and return an optional result as output.
The basic syntax for defining a function in C# is as follows:
[modifier] return_type function_name([parameter_list])
{
// Function code
return return_value; // Optional
}
- Modifier: It can be
public
,private
,protected
, among others, to define the access level of the function. - Return type: Specifies the data type that the function will return as a result. It can be
void
if the function does not return any value. - Function name: It is the unique identifier of the function that will be used to invoke it from other parts of the program.
- Parameter list: These are variables that are used to pass information to the function when called.
- Function code: It is the set of instructions that will be executed when the function is called.
- Return value: It is the result that the function returns, optionally.
Basic Example
Below is a basic example of a function that adds two numbers:
public int Add(int num1, int num2)
{
return num1 + num2;
}
In this example, the function Add
takes two parameters num1
and num2
, performs the addition operation, and returns the result.
Calling Functions
To call (invoke) a function and execute its code, simply use the function name followed by parentheses, passing the parameter values if necessary.
Here is a code example that calls the Add
function and stores the result in a variable:
int result = Add(5, 3);
In this case, the function Add
is called with the values 5
and 3
as arguments, and it returns the result 8
, which is assigned to the variable result
.
Parameters
Functions in C# can have one or more input parameters, which are values passed to the function when it is called. These parameters are used within the function to perform calculations and determine the return result.
For example, in the following example the function CalculateRectangleArea
has two parameters, width
and height
, both of type double
.
double CalculateRectangleArea(double width, double height)
{
// Code to calculate the area of a rectangle
double area = width * height;
return area;
}
Return Value
Functions can return a value as a result using the return
keyword. The type of the returned value must match the return type specified in the function signature.
For example, in the function CalculateCircleArea
, it returns a double
type.
static double CalculateCircleArea(double radius)
{
// Code to calculate the area of a circle
double area = Math.PI * radius * radius;
return area; // return area
}
Only one value can be returned from a function. Although it is possible to return a grouping of multiple values (such as a tuple
, struct
, or an object
).
Functions without Return
If a function does not return any value, the void
keyword is used as the return type.
public void Greet(string name)
{
Console.WriteLine($"Hello, {name}!");
}
Practical Examples
Function to determine if a number is even or odd
This function determines if a number is even or odd.
public static string EvenOdd(int number)
{
if (number % 2 == 0) // Checks if the number is divisible by 2
{
return "even"; // Returns "even" if the number is divisible by 2
}
else
{
return "odd"; // Returns "odd" if the number is not divisible by 2
}
}
Function to calculate the area of a circle
This function calculates the area of a circle given its radius.
public static double CalculateCircleArea(double radius)
{
return Math.PI * radius * radius; // Calculates the area using the formula πr²
}
Function to determine the maximum of two numbers
This function returns the greater of two numbers.
public static int Maximum(int a, int b)
{
if (a > b) // Compares the two numbers
{
return a; // Returns 'a' if it is greater than 'b'
}
else
{
return b; // Returns 'b' if it is greater than or equal to 'a'
}
}
Function to convert degrees Celsius to Fahrenheit
This function converts a temperature from degrees Celsius to degrees Fahrenheit.
public static double CelsiusToFahrenheit(double celsius)
{
return (celsius * 9/5) + 32; // Applies the conversion formula
}
Function to check if a number is prime
This function determines if a number is prime.
public static bool IsPrime(int number)
{
if (number <= 1) return false; // Numbers less than or equal to 1 are not prime
for (int i = 2; i < number; i++) // Iterates from 2 to number - 1
{
if (number % i == 0) return false; // If the number is divisible by 'i', it is not prime
}
return true; // If no divisor was found, the number is prime
}
Function to calculate the sum of an array of integers
This function calculates the sum of all elements in an array of integers.
public static int SumArray(int[] numbers)
{
int sum = 0; // Initializes the sum to 0
foreach (int number in numbers)
{
sum += number; // Adds each element of the array to 'sum'
}
return sum; // Returns the total sum
}
These examples are meant to show how to use Functions. It does not mean that it is the best way to solve the problems they address.