An function is a reusable block of code that performs a specific task when called or invoked from another part of the program.
Functions are a fundamental part of programming, as they allow dividing code into smaller, more manageable units (this facilitates understanding, maintenance, and debugging of software).
If you want to learn more, check out the Introduction to Programming Course
Functions in C# can take zero or more parameters as input, perform calculations or manipulations based on those parameters, and optionally return a 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: 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. Can be
voidif the function does not return any value. - Function name: The unique identifier of the function used to invoke it from other parts of the program.
- Parameter list: Variables used to pass information to the function when it is called.
- Function code: The set of instructions that will be executed when the function is called.
- Return value: The result returned by the function, 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 Sumar function 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, you simply use the function name followed by parentheses, passing the parameter values if necessary.
Here is an example of code that calls the Sumar function and stores the result in a variable:
int result = Add(5, 3);
In this case, the Sumar function is called with the values 5 and 3 as arguments, and returns the result 8, which is assigned to the variable resultado.
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 inside the function to perform calculations and determine the result to return.
For example, in the following example the CalcularAreaRectangulo function has two parameters, ancho and altura, 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’s signature.
For example, the CalcularAreaCirculo function 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 of area
}
Only one value can be returned from a function. However, it is possible to return a grouping of several values (like 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 is found, the number is prime
}
Function to calculate the sum of an integer array
This function calculates the sum of all elements in an integer array.
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 have the purpose of showing how to use Functions. It does not mean it is the best way to solve the problem they address.
