|

Funkcje w C#

Funkcja to blok kodu, który może być wielokrotnie wywoływany w trakcie działania programu.

Definicja funkcji składa się z typu zwrotnego, nazwy, nawiasu z parametrami oraz instrukcji wewnątrz bloku kodu.

Funkcje wywołuje się przez podanie jej nazwy z nawiasem okrągłym.

Funkcje o typie void nie zwracają żadnej wartości. Funkce zwracające wartość muszą zawierać instrukcję return;

void DisplayDate()
{
    Console.WriteLine(DateTime.Now);
}
DisplayDate();

Funkcja zwracająca wartość typu float.


float a = GetNumericInput();
float b = GetNumericInput();
float area = a * b;
Console.WriteLine("Area = " + area);
float GetNumericInput()
{
    Console.Write("Provide input: ");
    if (float.TryParse(Console.ReadLine(), out float a))
    {
        return a;
    }
    return -1f;
}

Funkcja wywołująca się do skutku (rekurencja)

float GetNumericInput()
{
    Console.Write("Provide float input: ");
    if (float.TryParse(Console.ReadLine(), out float a))
    {
        return a;
    }
    else
    {
        return GetNumericInput();
    }
}

Console.WriteLine(GetNumericInput() * 2);

Funkcja z parametrem


float GetNumericInput(string msg)
{
    Console.Write(msg);
    if (float.TryParse(Console.ReadLine(), out float a))
    {
        return a;
    }
    else
    {
        return GetNumericInput(msg);
    }
}

float a = GetNumericInput("Provide a: ");
float b = GetNumericInput("Provide b: ");
Console.WriteLine($"Area: {a*b}");

Przeciążanie funkcji

Numerico num = new();
float a = num.GetNumericInput("Provide a: ");
float b = num.GetNumericInput("Provide b: ");
Console.WriteLine($"Area: {a * b}");


class Numerico()
{
    public float GetNumericInput()
    {
        Console.Write("Provide float input: ");
        if (float.TryParse(Console.ReadLine(), out float a))
        {
            return a;
        }
        else
        {
            return GetNumericInput();
        }
    }

    public float GetNumericInput(string msg)
    {
        Console.Write(msg);
        if (float.TryParse(Console.ReadLine(), out float a))
        {
            return a;
        }
        else
        {
            return GetNumericInput(msg);
        }
    }

}


Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *