Линк към курса на Виктор Даков - pragmatic.bg/c...
Случвало ли ви се е някога да сте писали, писали код в мейн метода и накрая да не знаете кое за какво е? Е, и да не ви се е случвало все някога ще ви се случи, а на тези, които им се е случвало -- искрено разбирам болката ви! :Д Днес ще си говорим специално за това как да направим четимоста на кода ни по-добра и вече да не си задаваме въпроса - е сега тоя код тука какво правеше...
Нека си представим, че имаме задача да принтираме автоматизирани имейли при регистацията на нов юзър. Първия ни мейл би бил нещо от сорта на "успешна регистрация", а втория би бил "Добре дошли в 15 минутния канал за учене ето линк към канала ни - / @codewithfinesse1599 "
using System;
class Program
{
public static void SendRegistrationConfirm(string username)
{
Console.WriteLine($"Hello, {username} your registration was successful!");
}
public static void SendWelcomeMail(string username)
{
Console.WriteLine($"Hello, {username} and welcome to \"15 minutes CSharp\"");
}
static void Main(string[] args)
{
Console.Write("Enter your username: ");
string username = Console.ReadLine();
SendRegistrationConfirm(username);
SendWelcomeMail(username);
}
}
Нека разгледаме едно по едно първо казваме статик но тази дума ще я разглеждаме във отделно видео за modifiers. Другото нещо е, че виждаме името на функцията, което е с PascalCase, след което дефинираме прамаетри. В случая знаем, че за да принтим името на човека ни трябва неговия юзърнейм, чрез параметрите маркираме какво ще ни се подава във функцията.
После отново дефинираме блок от код помагайки си с тези къдрави скоби. void означава - тази функция не връща резултат, ще видим по-късно как функции могат да връщат резултат. Вътре в скобите казваме, че искаме да се принти форматиран стринг. Е добре и какво - ами все още нищо. Дори да стартирам програмата нищо няма да се случи. Функциите много наподобяват променливите - дори да дефинираш променлива, ако никога не я използваш няма много много смисъл от нея.
Нека сега да видим как можем да викнем функция. Променливите ги викахме чрез имената им, функциите п същия начин. Нужно е да спомена името на функцията, която искам да използвам и да сложа кръгли скоби. Това, обаче не е достатъчно и IDE-то ми се кара, тъй като при създаване на функцията аз казах, че очаквам параметър, да но никакъв аргумент не ми е подаден. А сега? как така нали беше параметър, за какви аргументи говориш в момемнта? Когато дефинирам функцията само споменавам, че ще очаквам едно или много неща и от какъв тип ще са, но нямат никакви стойности - това са параметрите, когато извикквам функцията и й подавам истинска стойност това са аргументи.
За да постигнем целта си със сигурност има значение коя функция ще извикаме първо. Всичко се изпълнява така както сме го написали подред отгоре надолу, като стартиращата точка за програмата е от мейн метода.
Console.Write("Enter your username: ");
string username = Console.ReadLine();
SendRegistrationConfirm(username);
SendWelcomeMail(username);
Първо ще се изпише на конзолата подканящо съобщение потребителя да си създаде юзърнейм, след това ще се изчака да го въведе, ще се изпрати първо потвърждение за регистрация, а след това и мейл за добре дошли в канала.
Сега нека създадем функция, която събира две числа. Ще я кръстим "Add"
using System;
class Program
{
static int Add(int a, int b)
{
return a + b;
}
static void Main(string[] args)
{
int result = Add(5, 6);
Console.WriteLine(result);
}
}
Ето как с тази функция виждаме, че освен войд, фунциите могат и да връщат стойности. В нашия случай, ще събираме интиджер числа и следователно резултатът ще бъде инт и тъй като не е празна, ще трябва да използваме ключовата дума ретърн, която излиза от действието на метода
23 авг 2024