Məzmuna keç
Educora
Başlanğıc12 dəq1 / 16

C# nədir? .NET və ilk proqramın

C# dilinin və .NET platformasının nə olduğunu, harada istifadə edildiyini öyrən və ilk proqramını yaz.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • C#-ın və .NET-in nə olduğunu və harada işlədildiyini izah etmək
  • Console.WriteLine ilə ekrana mətn və hesablamaların nəticəsini çıxarmaq
  • Proqramı dotnet run ilə 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.

Tərif
.NET

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:

C#
Console.WriteLine("Hello, world!");
Gözlənilən nəticə
Hello, world!
  • Console konsolla (mətn pəncərəsi ilə) işləyən hazır sinifdir.
  • WriteLine onun 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.

C#
namespace HelloApp;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, world!");
    }
}
Gözlənilən nəticə
Hello, world!
Klassik forma: proqram Main metodundan başlayır.

Proqramı necə işə salmaq olar?

  1. 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.

  2. 2
    Layihə yarat

    Terminalda dotnet new console -o HelloApp əmrini yaz. Nəticədə HelloApp qovluğunda Program.cs faylı yaranacaq.

  3. 3
    İşə sal

    cd HelloApp ilə qovluğa keç və dotnet run yaz. Proqram kompilyasiya olunacaq və ekranda Hello, World! görünəcək.

  4. 4
    Və ya sadəcə bir fayl

    .NET 10-dan başlayaraq layihəsiz də işləmək olar: kodu app.cs faylına yaz və dotnet run app.cs əmrini ver.

Terminal
dotnet new console -o HelloApp
cd HelloApp
dotnet run
Terminalda yazılan əmrlər

Mə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.

C#
Console.Write("Salam, ");
Console.Write("Aysel!");
Console.WriteLine();
Console.WriteLine("I live in Baku.");
Console.WriteLine("I am " + 12 + " years old.");
Gözlənilən nəticə
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.

C#
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));
Gözlənilən nəticə
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.

C#
// 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!");
Gözlənilən nəticə
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.

KodXətaSəbəb
Console.WriteLine("Hi")CS1002: ; expectedSətrin sonunda nöqtəli vergül unudulub.
console.WriteLine("Hi");CS0103C# böyük və kiçik hərfləri fərqləndirir: Console böyük hərflə yazılır.
Console.WriteLine('Hi');CS1012Tək dırnaq yalnız bir simvol (char) üçündür, mətn qoşa dırnaqla yazılır.
Console.WriteLine("Hi);CS1010Bağlayan dırnaq unudulub.
Yeni başlayanların ən çox rastlaşdığı xətalar

Ə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.WriteLine yazıb yeni sətrə keçir, Console.Write isə 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.

1 / 10
C# proqramları hansı platformada işləyir?