SlideShare une entreprise Scribd logo
1  sur  36
Microsoft .NET: C#


         Лекц №1
Агуулга

   .NET Framework танилцуулга
   .NET доторх хэлүүдийн танилцуулга
   С# дээрх эхний програм
   Хувьсагч зарлах
   Өгөгдлийн төрлүүд
   Нөхцөл шалгалт, давталтууд
   Goto, enumeration
   Namespace
   Compile options
   C# хэлний түлхүүр үгс


                                        2
.NET Framework

   Microsoft компаниас гаргасан. Дотроо дараах
    програмчлалын хэлүүдийг агуулна:
       C# .NET
       Visual Basic .NET
       Visual C++ .NET
       Visual J# .NET
       ASP .NET


   Эдгээрээс C# нь шинэ хэл юм.
   Visual Basic .NET нь Visual Basic 6.0-с ялгаатай.



                                                        3
C#
   Microsoft-н өмнө нь хөгжүүлж байсан хэлүүд нь Windows хөгжих
    тусам гарч ирсэн онцлогуудыг нь тусгахын тулд хувилбар бүртээ
    өөрчлөлт оруулж байснаас хэрэгтэй хэрэггүй зүйлсээр дүүрч
    ирсэн.
   Энэ асуудлыг шийдэхийн тулд .NET Framework үүсгэн энд C#
    хэлийг шинээр оруулж ирсэн.
   Энэ хэлийн давуу тал:
       Хэрэглэгчийн интерфэйсийг Visual Basic-тэй адил хялбар хийнэ.
       Java шиг бүрэн обьект хандалтат
       C++ хэлний хурдыг агуулсан, бичиглэл нь төстэй.
       Синтакс нь Java-тай төстэй тул Java програмистуудад ашиглахад
        хялбар байдаг.
       Доод төвшинд програмчлах боломжтой.
       Заагчаар хангагдсан.



                                                                        4
Visual Basic .NET (VB .NET)
   Basic хэлнээс үүдэлтэй.
   Microsoft-с гаргасан хамгийн анхны Visual хэл юм. VB 1.0-c VB
    6.0 хүртэл хөгжөөд хамгийн сүүлд VB .NET болсон байна.
   Давуу тал:
       Хэрэглэгчийн интерфэйсыг маш хялбар гаргаж өгдөг.
       Кодонд том жижиг үсэг ялгаагүй.
       Хурдтай ажилладаг.
   Дутагдалтай тал:
       Нэгэнт Basic хэлний синтаксыг өвлөсөн тул том хэмжээний төслийг
        амжилттай хийхэд асуудал гарч ирдэг.
       Бүрэн обьект хандалтат биш тул мөн л том төсөлд код нь хяналтаас
        хурдан гарна.
       Илүү нарийн төвөгтэй доод төвшинд програмчлахдаа тааруу.
       Заагч байхгүй.


                                                                       5
Visual C++ .NET (VC++ .NET)
   Visual C++ хэлнээс үүдэлтэй.
   C++ хэлийг Windows орчны програм бичихэд хялбар болгон
    өөрчилсөн хувилбар юм.

   Давуу тал:
       Маш доод төвшинд програмчлах боломжтой.
       Илүү хурдан ажиллах програм хийж болно.


   Дутагдалтай тал:
       Windows-г маш сайн мэдэх туршлагатай програмист л хэрэглэх
        боломжтой.
       Хэрэглэгчийн интерфэйсийг хийхийн тулд маш их зүйл бичих
        хэрэгтэй болно.



                                                                     6
Visual J++ .NET (VJ++ .NET)
   Visual J++ хэлнээс үүдэлтэй.
   Java хэлтэй тун төстэй харагдах боловч ондоо.

   Давуу тал:
       Java дээр ажиллаж байсан хүмүүст .NET дээр програм хурдан бичиж
        сурах боломж олгоно.


   Дутагдалтай тал:
       Өргөн хэрэглэгддэггүй.




                                                                      7
ASP .NET
   Динамик вэб хийхэд хэрэглэгддэг хэл юм.
   ASP хэлийг сайжруулан гарсан хувилбар.

   Давуу тал:
       Windows-той илүү зохицон ажиллана.




                                              8
.NET Framework

   Эдгээр хэлүүд нь синтаксаараа ялгаатай бичигдэх боловч
    бүгд цаана нэг л .NET Framework-н обьектуудыг
    ашигладаг.
   Эдгээр хэлийн алин дээр нь ч бичсэн кодыг компилятор
    хөрвүүлэхэд нэг ижил IL (Intermediate Language) дээр
    бичигдсэн код гардаг. Тиймээс эдгээр хэлүүд хоорондоо
    кодоо бие биерүүгээ хөрвүүлэх боломжтой юм.
   .NET нь үүссэн IL кодыг (Java-н байт кодтой төстэй) JIT
    (Just in time compiler) ашиглан машины код руу
    хөрвүүлдэг.
   .NET дээр бичигдсэн програм ажиллахын тулд .NET
    Framework суулгагдсан байх шаардлагатай.

                                                              9
C# дээрх эхний програм

   1. Дараах кодыг first.cs нэртэй файлд бичин хадгална уу.
   2. csc first.cs командыг команд промпт дээр өгнө. (start->All
    Programs->Microsoft Visual Studio 2005->Visual Studio Tools-
    >Visual Studio 2005 Command Prompt)
   3. first командыг өгөхөд програм ажиллана.




                                                                    10
Хувьсагч зарлалт
   Ер нь Java-тай адил. Байж болох өгөгдлийн төрлүүд нь:
       sbyte : -127 127 хүртэлх утгыг авах 8 битийн тоо (signed byte)
       byte : 0-255 утга авна.
       short : -32768 32768 хооронд байх тоонуудыг авна. (16 бит)
       Ushort : 0-65535 хооронд байх тоонуудыг авна. (16 бит)
       Int : 32 битийн тэмдэгтэй тоо
       Uint : 32 битийн тэмдэггүй тоо.
       Long : 64 битийн тэмдэгтэй тоо.
       ulong : 64 битийн тэмдэггүй тоо.
       Char : 16 битийн Unicode тэмдэгт
       Float : 32 битийн тэмдэгтэй бутархай тоо.
       Double : 64 битийн тэмдэгтэй бутархай тоо.
       Decimal : 128 битийн тэмдэгтэй бутархай тоо.
       Bool : Буулийн утга.




                                                                         11
Хувьсагч зарлалт
   Үнэндээ C# дээр зарласан хувьсагчийн төрөл нь тусгай C#-д л байдаг зүйл биш
    бөгөөд энэ нь цаана .NET-н өгөгдлийн төрлийг ашиглаж байдаг. .NET дотор байх бүх
    хэлүүд нь мөн л цаана .NET –н өгөгдлийн төрлийг хэрэглэдэг.




                                                                                 12
Хувьсагч зарлалт




                   13
Тогтмол ашиглах

   Програмд тогтмолыг ашигласнаар дараах давуу
    талуудтай:
       Програмыг уншиж ойлгоход хялбар болно. Жишээ нь програм
        дотор энд тэнд 3,1428568 гэсэн утга явж байснаас Pi гэсэн
        тогтмол зарлаад түүнийгээ хэрэглэх газраа Pi гэсэн нэрээр
        хэрэглэх гэх мэт
       Програмыг хурдан засах боломж өгнө. Хэрэв бид Pi 3.15
        байхаар солъѐ гэвэл тогтмолынхоо утгыг л өөрчилснөөр бүх
        газар өөрчлөлт орно. Тогтмол ашиглаагүй бол 3,14285 тоо
        бүрийг очиж солих хэрэгтэй болно.
       С#-д тогтмолыг const түлхүүр үгээр зарлана:




                                                                14
Хувьсагчийн төрөл

   C#-д хоѐр янзын хувьсагчийн төрөл байдаг нь:
     Утган төрөл (value type)
     Заалт төрөл (reference type)

   Гол ялгаа нь утган төрөл нь хувсагчийн утгыг шууд агуулж
    байдаг бол заалт төрөл нь уг утгыг агуулсан санах ойг зааж
    байдаг.
   Эдгээр төрлүүд нь санах ойд өөр өөр хэсэгт байрладаг:
       Утган төрөл нь Стект байрлана.
       Заалт төрөл нь Heap санах ойд байрлана.




                                                                 15
Хувьсагчийн төрөл

   Утган төрөл (value type)



   Заалт төрөл (reference type)




   Энд x ба y нь нэг л обьектийг заана.


                                           16
Хувьсагчийн төрөл

   Хэрэглэгчийн зарласан класс бүр нь заалт төрөл
    болно.
   C#-д цаанаасаа хоѐр заалт төрөлтэй ирдэг. Эдгээр
    нь:
       object : Энэ нь Java –н object төрөлтэй ижил. C# - д байх бүх
        обьектууд эндээс ямар нэг байдлаар удамшин гарсан байна.
       string : Java-н String класстай ижилхэн үүрэгтэй.


   Хэдийгээр string нь заалт төрөл боловч нэг ижил тэмдэгт мөрийг
    зааж буй хоѐр заалтын нэгийг өөрчлөхөд нөгөөх нь
    өөрчлөгдөлгүй үлддэг. Жишээн дээр харна уу.



                                                                        17
Хувьсагчийн төрөл




                    18
Хувьсагчийн төрөл

    тэмдэгтийг ашиглан тусгай тэмдэгтүүдийг тэмдэгт мөр дотор
    бичиж болно:



   Гэвч олон удаа  тэмдэгтийг ашиглах нь ядаргаатай бол C# - д
    нэг боломж бий:




                                                                   19
Нөхцөл шалгалт

   Нөхцөл шалгалт нь Java – тай ижил.

   Switch операторын жишээ: Java-с ялгаатай нь String төрлийн
    утгыг switch-д ашиглаж болно




                                                                 20
Нөхцөл шалгалт
   Жишээ :




                 21
Давталт
   Java-тай ижил :




                      22
Давталт
   While давталт :




   Do while давталт :




                         23
Давталт
   Foreach давталт. Энэ давталт нь бүлэг обьектуудыг ( жишээ нь
    массив, вектор, ...) эхнээс нь эцэс хүртэл нь давтдаг.




   Анхаарах нэг чухал зүйл бол энэ давталтын үед обьектуудын
    утгыг нь өөрчилж болдоггүй. Тиймээс доорх давталт
    ажиллахгүй.




                                                                   24
Goto
   Goto – г ашиглан програмын удирдлагыг өөр хэсэгт шилжүүлж
    болно:




   Гэхдээ давталт руу үсрэн орох, класаас үсрэн гарах зэрэг
    үйлдлийг энэ оператороор хийх боломжгүй.

   Ер нь goto-г ашиглах нь сайн обьект хандалтат системд бараг
    тохиолддоггүй боловч switch ашиглах үед дотор нь шилжих
    зорилгоор ашиглахад их зүгээр байдаг байна.




                                                                  25
Enumeration
   Хэрэглэгчийн үүсгэсэн бүтэц төрөл юм. Програмыг илүү
    ойлгомжтой хялбар болгож өгдөг.
   Enum түлхүүр үгийг ашиглан зарлана.




                                                           26
Enumeration




              27
Массив




         28
Namespace
   Энэ нь Java-н пакэжтэй ижил зүйл юм. Том системд ижил нэртэй
    классууд олон гарч ирдэг ба үүнийг өөр өөр пакэжд хийснээр шийддэг.
    Үүнтэй адилаар C# -н namespace дотор классууд байрладаг ба ижил
    нэртэй классууд нь namespace-ээрээ ялгарна. Дараах хоѐр код
    ижилхэн:




                                                                          29
Namespace
   Аз болоход namespace – г using ашиглан илүү товчоор бичиж
    болдог :




                                                                30
Compile options
   Бид өмнө нь зөвхөн консол дээр програмыг ажиллуулж үзсэн.
    Тэгвэл өөрөөр классыг яаж compile хийх вэ? Csc командыг
    дараах тохиргоотойгоор өгч өөр өөрөөр компиляци хийж болно:




                                                              31
Compile options
   Жишээ нь дотроо хоѐр тоо нэмдэг функцтэй MathLibrary.dll файл
    үүсгээд өөр нэг програм дотроос энэ dll-н хоѐр тоо нэмдэг
    функцийг ашиглан ажиллах жишээ хийж үзье.

   MathLibrary.dll файлын код :




   Гаргаж авахдаа :




                                                               32
Compile options
   MathLibrary.dll файлыг ашиглах MathClient.cs програм:




   Гаргаж авахдаа :                  Ажиллуулахдаа : Mathclient




                                                                   33
Console input output
   Консол дээр оролт гаралт гүйцэтгэх :




                                           34
C# түлхүүр үгс
   Түлхүүр үгсийг жагсаавал:




                                35
C# түлхүүр үгс
   Түлхүүр үгсийг жагсаавал:




                                36

Contenu connexe

Tendances (20)

Gosexem asuult 09
Gosexem asuult 09Gosexem asuult 09
Gosexem asuult 09
 
Sw203 Lecture6 Inheritance
Sw203 Lecture6 InheritanceSw203 Lecture6 Inheritance
Sw203 Lecture6 Inheritance
 
Java лекц1
Java лекц1Java лекц1
Java лекц1
 
Sw203 Lecture9 Encapsulation
Sw203 Lecture9  EncapsulationSw203 Lecture9  Encapsulation
Sw203 Lecture9 Encapsulation
 
Java lecture2
Java lecture2Java lecture2
Java lecture2
 
Лекц 6 - 7
Лекц 6 - 7Лекц 6 - 7
Лекц 6 - 7
 
CS203 Лекц01 Prefeace
CS203 Лекц01  PrefeaceCS203 Лекц01  Prefeace
CS203 Лекц01 Prefeace
 
Sw203 Lecture3 Advanced Java Program
Sw203 Lecture3 Advanced Java ProgramSw203 Lecture3 Advanced Java Program
Sw203 Lecture3 Advanced Java Program
 
Java lecture4
Java lecture4Java lecture4
Java lecture4
 
Lecture1
Lecture1Lecture1
Lecture1
 
Sw203 Lecture4 Class Object
Sw203 Lecture4  Class ObjectSw203 Lecture4  Class Object
Sw203 Lecture4 Class Object
 
Java lecture5
Java lecture5Java lecture5
Java lecture5
 
Sw203 Lecture8 Interface
Sw203 Lecture8 InterfaceSw203 Lecture8 Interface
Sw203 Lecture8 Interface
 
Pl lecture3
Pl lecture3Pl lecture3
Pl lecture3
 
PL Lecture1
PL Lecture1PL Lecture1
PL Lecture1
 
1
11
1
 
Ush 2014 new3
Ush 2014 new3Ush 2014 new3
Ush 2014 new3
 
Sw203 Lecture10 Polymorphism
Sw203 Lecture10 PolymorphismSw203 Lecture10 Polymorphism
Sw203 Lecture10 Polymorphism
 
Lecture2
Lecture2Lecture2
Lecture2
 
Pl lecture1
Pl lecture1Pl lecture1
Pl lecture1
 

En vedette

Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-AccessSerghei Urban
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Alexander Babich
 
C# Tutorial MSM_Murach chapter-12-slides
C# Tutorial MSM_Murach chapter-12-slidesC# Tutorial MSM_Murach chapter-12-slides
C# Tutorial MSM_Murach chapter-12-slidesSami Mut
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Vangos Pterneas
 
C# Tutorial
C# Tutorial C# Tutorial
C# Tutorial Jm Ramos
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# IntroductionSiraj Memon
 
A Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineA Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineAbdelrahman Hosny
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 

En vedette (11)

Embarcadero All-Access
Embarcadero All-AccessEmbarcadero All-Access
Embarcadero All-Access
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010
 
Lesson 3: Variables and Expressions
Lesson 3: Variables and ExpressionsLesson 3: Variables and Expressions
Lesson 3: Variables and Expressions
 
C# Tutorial MSM_Murach chapter-12-slides
C# Tutorial MSM_Murach chapter-12-slidesC# Tutorial MSM_Murach chapter-12-slides
C# Tutorial MSM_Murach chapter-12-slides
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)
 
C# basics
 C# basics C# basics
C# basics
 
Programming in c#
Programming in c#Programming in c#
Programming in c#
 
C# Tutorial
C# Tutorial C# Tutorial
C# Tutorial
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# Introduction
 
A Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineA Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual Machine
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 

Similaire à Lec1 (20)

си хэлний ойлголт
си хэлний ойлголтси хэлний ойлголт
си хэлний ойлголт
 
Vb.net mon1
Vb.net mon1Vb.net mon1
Vb.net mon1
 
203lab1
203lab1203lab1
203lab1
 
C++ суулгах
C++ суулгахC++ суулгах
C++ суулгах
 
Лекц №5
Лекц №5Лекц №5
Лекц №5
 
Delphi
DelphiDelphi
Delphi
 
C++
C++C++
C++
 
Lec1 pragraming language
Lec1 pragraming languageLec1 pragraming language
Lec1 pragraming language
 
Lec06 synchronization
Lec06 synchronizationLec06 synchronization
Lec06 synchronization
 
It glossary
It glossaryIt glossary
It glossary
 
Vizual programchilal cu lekts
Vizual programchilal cu lektsVizual programchilal cu lekts
Vizual programchilal cu lekts
 
DW test
DW testDW test
DW test
 
Sw206 lec
Sw206 lecSw206 lec
Sw206 lec
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
u.cs101 "Алгоритм ба програмчлал" Лекц №4
u.cs101 "Алгоритм ба програмчлал" Лекц №4u.cs101 "Алгоритм ба програмчлал" Лекц №4
u.cs101 "Алгоритм ба програмчлал" Лекц №4
 
Лекц №6
Лекц №6Лекц №6
Лекц №6
 
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
 

Lec1

  • 1. Microsoft .NET: C# Лекц №1
  • 2. Агуулга  .NET Framework танилцуулга  .NET доторх хэлүүдийн танилцуулга  С# дээрх эхний програм  Хувьсагч зарлах  Өгөгдлийн төрлүүд  Нөхцөл шалгалт, давталтууд  Goto, enumeration  Namespace  Compile options  C# хэлний түлхүүр үгс 2
  • 3. .NET Framework  Microsoft компаниас гаргасан. Дотроо дараах програмчлалын хэлүүдийг агуулна:  C# .NET  Visual Basic .NET  Visual C++ .NET  Visual J# .NET  ASP .NET  Эдгээрээс C# нь шинэ хэл юм.  Visual Basic .NET нь Visual Basic 6.0-с ялгаатай. 3
  • 4. C#  Microsoft-н өмнө нь хөгжүүлж байсан хэлүүд нь Windows хөгжих тусам гарч ирсэн онцлогуудыг нь тусгахын тулд хувилбар бүртээ өөрчлөлт оруулж байснаас хэрэгтэй хэрэггүй зүйлсээр дүүрч ирсэн.  Энэ асуудлыг шийдэхийн тулд .NET Framework үүсгэн энд C# хэлийг шинээр оруулж ирсэн.  Энэ хэлийн давуу тал:  Хэрэглэгчийн интерфэйсийг Visual Basic-тэй адил хялбар хийнэ.  Java шиг бүрэн обьект хандалтат  C++ хэлний хурдыг агуулсан, бичиглэл нь төстэй.  Синтакс нь Java-тай төстэй тул Java програмистуудад ашиглахад хялбар байдаг.  Доод төвшинд програмчлах боломжтой.  Заагчаар хангагдсан.  4
  • 5. Visual Basic .NET (VB .NET)  Basic хэлнээс үүдэлтэй.  Microsoft-с гаргасан хамгийн анхны Visual хэл юм. VB 1.0-c VB 6.0 хүртэл хөгжөөд хамгийн сүүлд VB .NET болсон байна.  Давуу тал:  Хэрэглэгчийн интерфэйсыг маш хялбар гаргаж өгдөг.  Кодонд том жижиг үсэг ялгаагүй.  Хурдтай ажилладаг.  Дутагдалтай тал:  Нэгэнт Basic хэлний синтаксыг өвлөсөн тул том хэмжээний төслийг амжилттай хийхэд асуудал гарч ирдэг.  Бүрэн обьект хандалтат биш тул мөн л том төсөлд код нь хяналтаас хурдан гарна.  Илүү нарийн төвөгтэй доод төвшинд програмчлахдаа тааруу.  Заагч байхгүй. 5
  • 6. Visual C++ .NET (VC++ .NET)  Visual C++ хэлнээс үүдэлтэй.  C++ хэлийг Windows орчны програм бичихэд хялбар болгон өөрчилсөн хувилбар юм.  Давуу тал:  Маш доод төвшинд програмчлах боломжтой.  Илүү хурдан ажиллах програм хийж болно.  Дутагдалтай тал:  Windows-г маш сайн мэдэх туршлагатай програмист л хэрэглэх боломжтой.  Хэрэглэгчийн интерфэйсийг хийхийн тулд маш их зүйл бичих хэрэгтэй болно. 6
  • 7. Visual J++ .NET (VJ++ .NET)  Visual J++ хэлнээс үүдэлтэй.  Java хэлтэй тун төстэй харагдах боловч ондоо.  Давуу тал:  Java дээр ажиллаж байсан хүмүүст .NET дээр програм хурдан бичиж сурах боломж олгоно.  Дутагдалтай тал:  Өргөн хэрэглэгддэггүй. 7
  • 8. ASP .NET  Динамик вэб хийхэд хэрэглэгддэг хэл юм.  ASP хэлийг сайжруулан гарсан хувилбар.  Давуу тал:  Windows-той илүү зохицон ажиллана. 8
  • 9. .NET Framework  Эдгээр хэлүүд нь синтаксаараа ялгаатай бичигдэх боловч бүгд цаана нэг л .NET Framework-н обьектуудыг ашигладаг.  Эдгээр хэлийн алин дээр нь ч бичсэн кодыг компилятор хөрвүүлэхэд нэг ижил IL (Intermediate Language) дээр бичигдсэн код гардаг. Тиймээс эдгээр хэлүүд хоорондоо кодоо бие биерүүгээ хөрвүүлэх боломжтой юм.  .NET нь үүссэн IL кодыг (Java-н байт кодтой төстэй) JIT (Just in time compiler) ашиглан машины код руу хөрвүүлдэг.  .NET дээр бичигдсэн програм ажиллахын тулд .NET Framework суулгагдсан байх шаардлагатай. 9
  • 10. C# дээрх эхний програм  1. Дараах кодыг first.cs нэртэй файлд бичин хадгална уу.  2. csc first.cs командыг команд промпт дээр өгнө. (start->All Programs->Microsoft Visual Studio 2005->Visual Studio Tools- >Visual Studio 2005 Command Prompt)  3. first командыг өгөхөд програм ажиллана. 10
  • 11. Хувьсагч зарлалт  Ер нь Java-тай адил. Байж болох өгөгдлийн төрлүүд нь:  sbyte : -127 127 хүртэлх утгыг авах 8 битийн тоо (signed byte)  byte : 0-255 утга авна.  short : -32768 32768 хооронд байх тоонуудыг авна. (16 бит)  Ushort : 0-65535 хооронд байх тоонуудыг авна. (16 бит)  Int : 32 битийн тэмдэгтэй тоо  Uint : 32 битийн тэмдэггүй тоо.  Long : 64 битийн тэмдэгтэй тоо.  ulong : 64 битийн тэмдэггүй тоо.  Char : 16 битийн Unicode тэмдэгт  Float : 32 битийн тэмдэгтэй бутархай тоо.  Double : 64 битийн тэмдэгтэй бутархай тоо.  Decimal : 128 битийн тэмдэгтэй бутархай тоо.  Bool : Буулийн утга. 11
  • 12. Хувьсагч зарлалт  Үнэндээ C# дээр зарласан хувьсагчийн төрөл нь тусгай C#-д л байдаг зүйл биш бөгөөд энэ нь цаана .NET-н өгөгдлийн төрлийг ашиглаж байдаг. .NET дотор байх бүх хэлүүд нь мөн л цаана .NET –н өгөгдлийн төрлийг хэрэглэдэг. 12
  • 14. Тогтмол ашиглах  Програмд тогтмолыг ашигласнаар дараах давуу талуудтай:  Програмыг уншиж ойлгоход хялбар болно. Жишээ нь програм дотор энд тэнд 3,1428568 гэсэн утга явж байснаас Pi гэсэн тогтмол зарлаад түүнийгээ хэрэглэх газраа Pi гэсэн нэрээр хэрэглэх гэх мэт  Програмыг хурдан засах боломж өгнө. Хэрэв бид Pi 3.15 байхаар солъѐ гэвэл тогтмолынхоо утгыг л өөрчилснөөр бүх газар өөрчлөлт орно. Тогтмол ашиглаагүй бол 3,14285 тоо бүрийг очиж солих хэрэгтэй болно.  С#-д тогтмолыг const түлхүүр үгээр зарлана: 14
  • 15. Хувьсагчийн төрөл  C#-д хоѐр янзын хувьсагчийн төрөл байдаг нь:  Утган төрөл (value type)  Заалт төрөл (reference type)  Гол ялгаа нь утган төрөл нь хувсагчийн утгыг шууд агуулж байдаг бол заалт төрөл нь уг утгыг агуулсан санах ойг зааж байдаг.  Эдгээр төрлүүд нь санах ойд өөр өөр хэсэгт байрладаг:  Утган төрөл нь Стект байрлана.  Заалт төрөл нь Heap санах ойд байрлана. 15
  • 16. Хувьсагчийн төрөл  Утган төрөл (value type)  Заалт төрөл (reference type)  Энд x ба y нь нэг л обьектийг заана. 16
  • 17. Хувьсагчийн төрөл  Хэрэглэгчийн зарласан класс бүр нь заалт төрөл болно.  C#-д цаанаасаа хоѐр заалт төрөлтэй ирдэг. Эдгээр нь:  object : Энэ нь Java –н object төрөлтэй ижил. C# - д байх бүх обьектууд эндээс ямар нэг байдлаар удамшин гарсан байна.  string : Java-н String класстай ижилхэн үүрэгтэй.  Хэдийгээр string нь заалт төрөл боловч нэг ижил тэмдэгт мөрийг зааж буй хоѐр заалтын нэгийг өөрчлөхөд нөгөөх нь өөрчлөгдөлгүй үлддэг. Жишээн дээр харна уу. 17
  • 19. Хувьсагчийн төрөл  тэмдэгтийг ашиглан тусгай тэмдэгтүүдийг тэмдэгт мөр дотор бичиж болно:  Гэвч олон удаа тэмдэгтийг ашиглах нь ядаргаатай бол C# - д нэг боломж бий: 19
  • 20. Нөхцөл шалгалт  Нөхцөл шалгалт нь Java – тай ижил.  Switch операторын жишээ: Java-с ялгаатай нь String төрлийн утгыг switch-д ашиглаж болно 20
  • 22. Давталт  Java-тай ижил : 22
  • 23. Давталт  While давталт :  Do while давталт : 23
  • 24. Давталт  Foreach давталт. Энэ давталт нь бүлэг обьектуудыг ( жишээ нь массив, вектор, ...) эхнээс нь эцэс хүртэл нь давтдаг.  Анхаарах нэг чухал зүйл бол энэ давталтын үед обьектуудын утгыг нь өөрчилж болдоггүй. Тиймээс доорх давталт ажиллахгүй. 24
  • 25. Goto  Goto – г ашиглан програмын удирдлагыг өөр хэсэгт шилжүүлж болно:  Гэхдээ давталт руу үсрэн орох, класаас үсрэн гарах зэрэг үйлдлийг энэ оператороор хийх боломжгүй.  Ер нь goto-г ашиглах нь сайн обьект хандалтат системд бараг тохиолддоггүй боловч switch ашиглах үед дотор нь шилжих зорилгоор ашиглахад их зүгээр байдаг байна. 25
  • 26. Enumeration  Хэрэглэгчийн үүсгэсэн бүтэц төрөл юм. Програмыг илүү ойлгомжтой хялбар болгож өгдөг.  Enum түлхүүр үгийг ашиглан зарлана. 26
  • 29. Namespace  Энэ нь Java-н пакэжтэй ижил зүйл юм. Том системд ижил нэртэй классууд олон гарч ирдэг ба үүнийг өөр өөр пакэжд хийснээр шийддэг. Үүнтэй адилаар C# -н namespace дотор классууд байрладаг ба ижил нэртэй классууд нь namespace-ээрээ ялгарна. Дараах хоѐр код ижилхэн: 29
  • 30. Namespace  Аз болоход namespace – г using ашиглан илүү товчоор бичиж болдог : 30
  • 31. Compile options  Бид өмнө нь зөвхөн консол дээр програмыг ажиллуулж үзсэн. Тэгвэл өөрөөр классыг яаж compile хийх вэ? Csc командыг дараах тохиргоотойгоор өгч өөр өөрөөр компиляци хийж болно: 31
  • 32. Compile options  Жишээ нь дотроо хоѐр тоо нэмдэг функцтэй MathLibrary.dll файл үүсгээд өөр нэг програм дотроос энэ dll-н хоѐр тоо нэмдэг функцийг ашиглан ажиллах жишээ хийж үзье.  MathLibrary.dll файлын код :  Гаргаж авахдаа : 32
  • 33. Compile options  MathLibrary.dll файлыг ашиглах MathClient.cs програм:  Гаргаж авахдаа : Ажиллуулахдаа : Mathclient 33
  • 34. Console input output  Консол дээр оролт гаралт гүйцэтгэх : 34
  • 35. C# түлхүүр үгс  Түлхүүр үгсийг жагсаавал: 35
  • 36. C# түлхүүр үгс  Түлхүүр үгсийг жагсаавал: 36