- C#-ın və .NET-in nə olduğunu və harada işlədildiyini izah etmək
Console.WriteLineilə ekrana mətn və hesablamaların nəticəsini çıxarmaq- Proqramı
dotnet runilə işə salmaq, şərh yazmaq və kompilyator xətalarını oxumaq
Unity-də yaradılmış oyunlar, onlayn mağazaların saytları, Windows üçün masaüstü proqramlar, buludda işləyən serverlər — bunların hamısını eyni dildə yazmaq olar: C# (oxunuşu: «si şarp»). Bu dərsdə C#-ın nə olduğunu öyrənəcək, onun arxasında dayanan .NET platforması ilə tanış olacaq və ilk proqramını yazacaqsan.
C# və .NET
C# Microsoft şirkətinin yaratdığı müasir, obyektyönlü proqramlaşdırma dilidir. Onu Anders Heylsberqin rəhbərlik etdiyi komanda hazırlayıb, ilk versiyası 2002-ci ildə çıxıb. C# statik tipli dildir: hər qiymətin tipi əvvəlcədən bəllidir, ona görə bir çox səhvi proqram hələ işə düşməmiş kompilyator tapır.
C# proqramlarını yaratmaq və işə salmaq üçün Microsoft-un pulsuz, açıq mənbəli platforması. Windows, macOS və Linux-da işləyir və hazır kitabxanaların böyük dəstini təqdim edir.
Yazdığın kodu kompüter birbaşa başa düşmür. Əvvəlcə C# kompilyatoru onu aralıq dilə (IL) çevirir, proqram işə düşəndə isə .NET-in icra mühiti (CLR) bu kodu prosessorun anladığı maşın koduna çevirir. Bu sayədə eyni proqram müxtəlif əməliyyat sistemlərində işləyə bilir.
C# harada istifadə olunur?
- Veb — ASP.NET Core ilə saytlar, veb-API-lər və onlayn xidmətlər.
- Oyunlar — Unity oyun mühərrikində skriptlər C#-da yazılır, çoxlu mobil və kompüter oyunu isə məhz Unity-də hazırlanır.
- Masaüstü proqramlar — WPF və Windows Forms ilə Windows tətbiqləri, .NET MAUI ilə həm də mobil tətbiqlər.
- Bulud — Microsoft Azure kimi bulud platformalarında işləyən servislər.
- Konsol proqramları — mətnlə işləyən kiçik alətlər. Bu kursda məhz onları yazacağıq.
İlk proqramın
Proqramçıların ənənəsinə görə yeni dildə ilk proqram ekrana «Hello, world!» (Salam, dünya!) yazır. Müasir C#-da bunun üçün bir sətir kifayətdir:
Console.WriteLine("Hello, world!");Hello, world!
Consolekonsolla (mətn pəncərəsi ilə) işləyən hazır sinifdir.WriteLineonun metodudur: mötərizədəki qiyməti ekrana yazır və yeni sətrə keçir. Nöqtə sinfi metodla birləşdirir."Hello, world!"qoşa dırnaq içindəki mətndir, yəni sətir (string).;— nöqtəli vergül: C#-da hər əmr onunla bitir.
Bu yazılış tərzinə üst səviyyəli əmrlər (top-level statements) deyilir və C# 9-dan (2020) mövcuddur. Köhnə kodlarda və kitablarda eyni proqramı daha uzun formada görəcəksən: Program sinfi və proqramın başladığı Main metodu ilə. Kompilyator qısa variantı da arxa planda məhz belə koda çevirir.
namespace HelloApp;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
}
}Hello, world!
Main metodundan başlayır.Proqramı necə işə salmaq olar?
- 1.NET SDK-nı quraşdır
Pulsuz .NET SDK-nı Microsoft-un rəsmi saytından yüklə. Kod yazmaq üçün Visual Studio, C# Dev Kit əlavəsi ilə Visual Studio Code və ya JetBrains Rider uyğundur.
- 2Layihə yarat
Terminalda
dotnet new console -o HelloAppəmrini yaz. NəticədəHelloAppqovluğundaProgram.csfaylı yaranacaq. - 3İşə sal
cd HelloAppilə qovluğa keç vədotnet runyaz. Proqram kompilyasiya olunacaq və ekrandaHello, World!görünəcək. - 4Və ya sadəcə bir fayl
.NET 10-dan başlayaraq layihəsiz də işləmək olar: kodu
app.csfaylına yaz vədotnet run app.csəmrini ver.
dotnet new console -o HelloApp
cd HelloApp
dotnet runMətn və hesablamalar
Console.Write mətni yazır, amma yeni sətrə keçmir, Console.WriteLine isə yazandan sonra kursoru növbəti sətrə keçirir. Sətirləri + işarəsi ilə birləşdirmək olar. Proqram əmrləri yuxarıdan aşağıya, bir-bir icra edir.
Console.Write("Salam, ");
Console.Write("Aysel!");
Console.WriteLine();
Console.WriteLine("I live in Baku.");
Console.WriteLine("I am " + 12 + " years old.");Salam, Aysel! I live in Baku. I am 12 years old.
C# həm də yaxşı kalkulyatordur. Diqqət et: dırnaq içindəki "2 + 3" sadəcə mətndir, dırnaqsız 2 + 3 isə hesablanır. İki tam ədədi / ilə böləndə nəticə də tam ədəd olur — kəsr hissə sadəcə atılır. Qalığı % operatoru verir.
Console.WriteLine(2 + 3);
Console.WriteLine("2 + 3");
Console.WriteLine(7 * 8);
Console.WriteLine(17 / 5);
Console.WriteLine(17 % 5);
Console.WriteLine("Total: " + (45 + 30));5 2 + 3 56 3 2 Total: 75
Şərhlər və xətalar
Şərhləri kompilyator nəzərə almır: onlar kodu oxuyan insan üçündür. // sətrin sonuna qədər olan hər şeyi şərhə çevirir, /* ... */ isə bir neçə sətri əhatə edə bilər.
// This program greets the learner
Console.WriteLine("Welcome to Educora!"); // greeting
/* A comment on
several lines */
// Console.WriteLine("This line is switched off");
Console.WriteLine("C# is fun!");Welcome to Educora! C# is fun!
Kompilyator səhv tapanda proqramı işə salmır və xəta kodu olan mesaj göstərir, məsələn, CS1002. Mesajda sətrin və sütunun nömrəsi də yazılır, ona görə səhvi tapmaq asandır.
| Kod | Xəta | Səbəb |
|---|---|---|
Console.WriteLine("Hi") | CS1002: ; expected | Sətrin sonunda nöqtəli vergül unudulub. |
console.WriteLine("Hi"); | CS0103 | C# böyük və kiçik hərfləri fərqləndirir: Console böyük hərflə yazılır. |
Console.WriteLine('Hi'); | CS1012 | Tək dırnaq yalnız bir simvol (char) üçündür, mətn qoşa dırnaqla yazılır. |
Console.WriteLine("Hi); | CS1010 | Bağlayan dırnaq unudulub. |
Əsas fikirlər
- C# Microsoft-un statik tipli, obyektyönlü dilidir; proqramlar .NET platformasında işləyir.
- C# ilə veb-saytlar (ASP.NET Core), oyunlar (Unity), masaüstü və bulud proqramları yazılır.
Console.WriteLineyazıb yeni sətrə keçir,Console.Writeisə keçmir.- Hər əmr
;ilə bitir, C# isə böyük-kiçik hərfləri fərqləndirir. - İki tam ədədin bölünməsi tam ədəd verir:
17 / 5—3, qalıq isə17 % 5—2.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.