Blog Dla Młodszych Programistów C#/.NET

piątek, 27 grudnia 2024

Wprowadzenie


Dzisiaj zagłębimy się w temat, który jest fundamentalny dla każdego programisty - funkcje. Funkcje pozwalają nam organizować kod, unikać powtórzeń i tworzyć bardziej czytelne i łatwiejsze w utrzymaniu programy. W tym artykule skupimy się na praktycznych przykładach tworzenia i używania funkcji w C#.

Funkcje w C#: Tworzenie Wielokrotnie Używalnych Bloków Kodu

Co to są funkcje?


Funkcje (w C# często nazywane metodami) to bloki kodu, które wykonują określone zadanie. Możemy je wywoływać wielokrotnie, co znacznie upraszcza nasz kod i zwiększa jego czytelność.

Podstawowa struktura funkcji:

[modyfikator_dostępu] [typ_zwracany] NazwaFunkcji([parametry])
{
/* Ciało funkcji */
return [wartość]; /* Opcjonalnie, jeśli funkcja coś zwraca */
}


Przykład 1: Prosta funkcja


Zacznijmy od prostej funkcji, która wyświetla powitanie:

static void PowitajUzytkownika()
{
Console.WriteLine("Witaj w świecie funkcji C#!");
}

/* Użycie funkcji */
static void Main(string[] args)
{
PowitajUzytkownika();
}


Przykład 2: Funkcja z parametrami


Funkcje mogą przyjmować parametry, co zwiększa ich elastyczność:

static void PowitajOsobe(string imie)
{
Console.WriteLine($"Witaj, {imie}!");
}

/* Użycie funkcji */
static void Main(string[] args)
{
PowitajOsobe("Anna");
PowitajOsobe("Jan");
}


Przykład 3: Funkcja zwracająca wartość


Funkcje mogą również zwracać wartości:

static int Dodaj(int a, int b)
{
return a + b;
}

/* Użycie funkcji */
static void Main(string[] args)
{
int wynik = Dodaj(5, 3);
Console.WriteLine($"5 + 3 = {wynik}");
}


Przykład 4: Funkcje z wieloma parametrami i wartością domyślną


Możemy definiować funkcje z wieloma parametrami, a także ustawiać wartości domyślne:

static double ObliczCene(double cenaBazowa, double podatek = 0.23, bool czyPromocja = false)
{
double cena = cenaBazowa * (1 + podatek);
if (czyPromocja)
{
cena *= 0.9; /* 10% zniżki */
}
return Math.Round(cena, 2);
}

/* Użycie funkcji */
static void Main(string[] args)
{
Console.WriteLine($"Cena standardowa: {ObliczCene(100)}");
Console.WriteLine($"Cena z innym podatkiem: {ObliczCene(100, 0.08)}");
Console.WriteLine($"Cena promocyjna: {ObliczCene(100, czyPromocja: true)}");
}


Przykład 5: Rekurencja


Funkcje mogą wywoływać same siebie, co nazywamy rekurencją:

static int Silnia(int n)
{
if (n == 0 || n == 1)
return 1;
else
return n * Silnia(n - 1);
}

/* Użycie funkcji */
static void Main(string[] args)
{
Console.WriteLine($"Silnia z 5: {Silnia(5)}");
}


Przykład 6: Funkcje jako parametry


W C# funkcje mogą być przekazywane jako parametry do innych funkcji:

static double Operacja(double a, double b, Func<double, double, double> operacja)
{
return operacja(a, b);
}

static void Main(string[] args)
{
double wynikDodawania = Operacja(5, 3, (x, y) => x + y);
double wynikMnozenia = Operacja(5, 3, (x, y) => x * y);

Console.WriteLine($"5 + 3 = {wynikDodawania}");
Console.WriteLine($"5 * 3 = {wynikMnozenia}");
}


Dobre praktyki przy tworzeniu funkcji


    1. Nazewnictwo: Używaj jasnych, opisowych nazw dla funkcji.
    2. Pojedyncza odpowiedzialność: Każda funkcja powinna robić jedną rzecz, ale robić ją dobrze.
    3. Długość: Staraj się, aby funkcje były krótkie i zwięzłe.
    4. Parametry: Ogranicz liczbę parametrów do minimum.
    5. Komentarze: Dodawaj komentarze do skomplikowanych funkcji, wyjaśniając ich działanie.


Podsumowanie


Funkcje są niezbędnym elementem w tworzeniu czystego, modularnego i łatwego w utrzymaniu kodu. Pozwalają na organizację logiki programu, unikanie powtórzeń i tworzenie bardziej czytelnych aplikacji. Jeśli chcesz pogłębić swoją wiedzę na temat funkcji i innych zaawansowanych koncepcji programowania w C#, zachęcam do sprawdzenia mojego szkolenia online "Zostań Programistą .NET". W szkoleniu tym szczegółowo omawiamy nie tylko funkcje, ale także wiele innych ważnych aspektów programowania, które pomogą Ci stać się skutecznym deweloperem .NET. Mam nadzieję, że ten artykuł był dla Ciebie pomocny i inspirujący. Jeśli masz jakiekolwiek pytania lub chcesz podzielić się swoimi doświadczeniami z używaniem funkcji w C#, nie wahaj się zostawić komentarza poniżej. Powodzenia w Twojej przygodzie z programowaniem!

Autor artykułu:
Kazimierz Szpin
Kazimierz Szpin
CTO & Founder - FindSolution.pl
Programista C#/.NET. Specjalizuje się w Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET Web API, WPF oraz Windows Forms.
Autor bloga ModestProgrammer.pl
Dodaj komentarz

Wyszukiwarka

© Copyright 2024 modestprogrammer.pl. Wszelkie prawa zastrzeżone. Regulamin. Polityka prywatności. Design by Kazimierz Szpin