Mündəricat BÖLMƏ 1. C# proqramlaşdırma dili 3
C# proqramlaşdırma dilinə giriş 3
Visual Studio IDE 5
Ilk Bəsit Proqram 8
İkinci Bəsit Proqram 12
If şərt ifadəsi 14
for dövr ifadəsi 17
BÖLMƏ 2. Verilənlər tipləri və Dəyişənlər 19
Verilənlər tipi, tip nədir? 19
Dəyişən anlayışı 20
Mənimsətmələrə yaxından baxış 24
Dəyişənlərin yaşama müddəti 25
Tip Çevrilmələri və Tip Mənimsətmələr 27
Avtomatik Tip çevrilmələri 27
Açıq tip mənimsətmələr 27
Manual Tip Çevrilmələri 29
İdentifikatorlar 33
Bəzi İpucları və Qaydalar 33
BÖLMƏ 3. OPERATORLAR 35
Operator nədir? 35
Vahid operatorlar 35
Cəbri operatorlar 38
Müqayisə Operatorları 41
Məntiqi Operatorlar 42
Şərtə Bağlı Məntiqi Operatorlar 46
Mənimsətmə operatoları 48
Bitişik mənimsətmələr 48
Bit Əsaslı Operatorlar 49
? Operatoru 54
Operatorların Öncəlik Sırası 55
BÖLMƏ 4. PROQRAM KONTROL İFADƏLƏRİ 57
if Şərt İfadəsi 57
İç-içə if ifadələri 58
if-else-if kombinasiyası 60
switch İfadəsi 62
for dövr ifadəsi 65
Birdən çox dövr idarəedən dəyişən 66
Sonsuz dövr 68
while dövr ifadəsi 68
do-while dövr ifadəsi 70
break ifadəsi 71
continue ifadəsi 73
BÖLMƏ 5. OBYEKT YÖNÜMLÜ POQRAMLAŞDIRMA, SİNİFLƏRƏ, METODLARA OBYEKTLƏRƏ GİRİŞ 75
Obyekt yünümlü anlayışı. 76
Abstraksiya (Abstraction) 77
İnkapsulyasiya (Encapsulation) 77
Hüquq təyinedicilər (Access Modifiers) 78
Siniflərin əsasları 78
BÖLMƏ 1. C# proqramlaşdırma dili
C# proqramlaşdırma dilinə giriş
Əvvəlcə qeyd edək ki, bu proqramlaşdırma dilinin adı C# - dır (C Sharp), və ―si-şarp‖
kimi tələffüz olunur.
Əvvəlcə .NET Framework – un nə olduğunu qısa şəkildə aydınlaşdıraq. 2000-ci ilə qədər, proqramçı olmaq istəyən şəxslər, hansı proqramlaşdırma dilini seçməli olduqları haqqda ciddi tərəddüdlə qarşılaşırdılar. Çünki seçilən texnologiyanın mühitdən asılılığı, edəcəkləri işi, seçdikləri proqramlaşdırma dilinin nə dərəcədə ələ ala biləcəyi kimi faktorları nəzərə almaq lazım idi. Üstəlik, çoxlu sayıda fərqli sistemdən və fərqli arxitekturaya malik kompüterlərdən ibarət internet dediyimiz virtual dünyada, veb
tətbiqetmələr yazmaq lazım olduğunda, dillərin mühitdən asılılığı, proqramçıları lap boğaza yığırdı. Mühitdən asılılıq dedikdə, bir proqramlaşdırma dilində yazılan proqramın, sadəcə spesifik sistemlərdə və spesifik prosessorlar tərəfindən icra olunmağı başa düşülürdü. Fikirləşin, bir proqram yazırsınız, bu proqram ancaq bir sistemdə sadəcə müəyyən sayda prosessorlar tərəfindən icra oluna bilər. Başqa sistemə proqramımızı yazmaq lazım gəldikdə, gərək proramımızı sistemə və prosessora görə yenidən kompilyasiya edək. Bu məsələ, 2000-ci ilə qədər ciddi bir problem idi. Bunun üzərinə 1991-ci ildə Sun Microsystems şirkəti çox güclü və mühitdən bağımsız bir dil olan Java – nın əsasını qoydu. ―Mühitdən bağımsız‖ sözünü eşidən bəzi proqramçılar (söhbət 90-cı illərin sonlarından gedir) qulaqlarına inanmadılar. Bu azadlıq idi! Java ilə yazılan proqramlar, istənilən sistemdə və prosessorlarda işləyə biləcəkdi. Bunun üzərinə kütləvi şəkildə Java – ya axış yaranmağa başladı və qısa müddət arzində çox sevilən bir dil oldu. Deməli, Java dilinin qurucuları incə bir məntiqlə mühitdən asılılıq problemini demək olar ki aradan qaldırdı. Belə ki, Java proqramlarının kodları birbaşa maşın dilinə yox,
―bytecode‖ adlanan xüsusi bir aralıq dilə çevrilirdi. Bytecode – dan ibarət proqram isə Java Virtual mühərriki (JVM – Java Virtual Machine) olan istənilən sistemdə işləyə biləcəkdi. JVM, həmin bu bytecode – u yerləşdiyi sistemə və prosessora uyğun şəkildə yenidən kompiylasiya edərək maşın dilinə çevirir və beləliklə mühitdən asılılıq aradan qaldırılır. Java kimi gözəl bir dilin yaranması, Bill Gates – i dəli edir. Əsəbləşən Bill Gates tez Anders Hejlsberg – i yanına çağırır və ―nə edirsiz edin, tez mənə Java kimi gözəl bir dil yaradın‖, - deyir. Əslində, bu ifadə ilə C# -a haqqsızlıq etmiş oluruq. C# - ın yaranması tam olaraq Java – nın meydana gəlməsində yox, 100% .NET Framework dəstəkli bir dilin olması zərurətindən irəli gəldi. İndi məsələni başdan alaq. Deməli, 90 – larda proqramlaşdırma dili seçimi qarşısında qalmaq, böyük qərarsızlığa səbə olurdu. Çünki, tək bir proqramlaşdırma dili, edilən işi tam şəkildə mükəmməl ələ ala bilmirdi. Yəni, yüksək bir proyektin əsası qoyulduğunda vəziyyət elə yerə gəlirdi ki, ―proyektin filan hissəsini filan dildə, başqa hissəsini də ona uyğun dildə yaza bilsəydik nə gözəl olardı‖ fikirləri dərd olmuşdu. Bunun üzərinə, Microsoft şirkəti .NET Framework adlı bir işləmə mühiti yaratdı və mövcud bir çox proqramlaşdırma dilini bu mühitlə uyğunlaşdırdı. Bu o deməkdir ki, artıq eyni bir işi bir neçə proqramlaşdırma dilində görə biləcək. Çünki, .NET Framework uyumlu dil dedikdə, kitabxanalarını .NET Framework – dan götürən və və müəyyən standartlara cavab verən (bu standartlara CLI – Common Language Infrastructure deyilir) bir dil başa düşülür. Beləliklə, .NET Framework mühitində, bir proqramçı bir layihəni hissələrə bölərək müvafiq hissə üçün ən uyğun dili seçib onunla işləyə bilər, sonra hissələri birləşdirib yekun nəticəni təqdim edə bilər. Bu işi yerinə yetirmək üçün, məhz .NET Framework mühiti yaradıldı. Dünyadakı bir çox populyar proqramlaşdırma dilləri də, .NET Framework üçün optimizasiya edildi. Məsələn, C, C++, VisualBasic,, Jscript, ADA, Perl, Python, Smalltalk, Pascal, Haskel, Eiffel, COBOL və s. Amma, nə qədər olmasa da bir proqramlaşdırma dilinin .NET Framework üçün
100% uyumlu versiyasını çıxarmaq, mümkün deyildi. Çünki, dilin strukturunu kökündən dəyişmək olmazdı. Buna görə də Microsoft şirkəti .NET Framework mühitini 100% dəstəkləyən iki proqramlaşdırma dili çıxardı və bu dillərə C# və VB.NET adını verdi. Yəni, C# dili, .NET Framework mühitində daha original və proqressiv işləmək üçün yaranmış bir dildir əslində. Bu kimi .NET Framework uyumlu dillərə qarışıq proqramlaşdırma dili (mixed programming language) dəstəyi olan dil deyilir.
C# dilini yaradanların başında dünyanın ən güclü proqramlaşdırma dili mütəxəssislərindən biri olan Anders Hejlsberg dayanır. Bu adam, 60-cı illərdə çox populyar dil olan Turbo Pascal – ın original qurucusudur.