Program класс, Main арга. Дээд түвшингийн програмууд

C# хэл дээрх програмийн оролтын цэг Main арга байдаг. Яг энэ аргаас C# дээрх програм биелэгдэж эхэлдэг тул програм заавал Main аргатай байх ёстой. Гэтэл Visual Studio 2022  

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

кодтой консол програмийг үүсгэдэг.

Материалыг бүртгэлтэй хэрэглэгч үзнэ.

how_to_regБүртгүүлэх

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 632 Бүртгүүлэх

Хааяа өөр өөр параметрүүдийн багцтай нэг аргыг үүсгэх шаардлага гардаг. Ирсэн параметрүүдээс хамааран аргын тодорхой хэрэгжүүлэлтийг хэрэглэнэ. Ийм боломжийг аргын хэт ачаалал (method overloading) нэрлэдэг. overloading нэрийн хэт ачаалал орчуулга сайнгүй болсон байх талтай. Иймээс нэрийг overloading гээд тогтоогоод явах нь илүү ч байж болно.  
C# хэлэнд класст өөр өөр сигнатуртай /тодорхойлогч/ нэг ижил нэртэй олон аргыг үүсгэх боломжтой. Сигнатур гэж юу вэ? Сигнатур дараах зүйлүүдээс бүрдэнэ.

  • Аргын нэр
  • Параметрүүдийн тоо
  • Параметрүүдийн төрлүүд
  • Параметрүүдийн дараалал
  • Параметрүүдийн модификаторууд

Гэхдээ параметрүүдийн нэрүүд сигнатурт орохгүй.

  Нээгдсэн тоо: 5906 Төлбөртэй

Энэ хичээлээр бид ОХП-д томоохон байр суурийг эзэлдэг интерфейс гэдэг ойлголтыг авч үзэх болно. Сэдэв сонирхолтой, нарийн хэдий ч ойлгож чадна гэдэгт итгэлтэй байна. Ингээд интерфейс гэж юу болохоос эхлэе.

Интерфейс гэж юу вэ?

Интерфейсийн олон янзын тодорхойлолтууд байдаг. Jeffrey Richter өөрийн "CLR via C#" номондоо интерфейсийг аргуудын тодорхойлогчдын нэрлэсэн багц гэжээ. Тодорхойлолтыг ухан ойлгоцгооё. Делегат ба үйл явдал хичээлд үзснээр бол аргын тодорхойлогч /Signature/ гэдэг нь аргын нэр, түүнээс буцаах утгын төрөл, оролтын параметрын төрлийг агуулах хэв юм.

  Нээгдсэн тоо: 553 Төлбөртэй

Програмчлалын C# хэл хатуу төрөлжилттэй тул өгөгдөлтэй ажиллах үед null утга асуудал үүсгэх тохиолдол их. Үүнийг тооцолгүй бичигдсэн код бүр ажлын /production/ хувилбараар ажиллаж байхдаа алдаа өгөх тал бий. Кодийн тестийг хийхдээ тухайн хувьсагчид null утга олгогдох тохиолдолыг тооцохгүй байх нь ийм асуудал гарах үндсэн шалтгаан хэдий ч кодлогч энэ талаар өөрөө бодон кодлох хэрэгтэй.   

null -ийн шалгалт. Null guard /хамгаалагч/

Коддоо null утга авдаг өөрөөр хэлбэл nullable төрлийн хувьсагч болон параметрүүд ашиглах болбол NullReferenceException алдаа гарахаас сэргийлэн null -ийг шалгах хэрэгтэй. Жишээ нь

void PrintUpper(string? text)
{
    if (text!=null)
    {
        Console.WriteLine(text.ToUpper());
    }    
}

Дээрх кодод text параметр null -тэй тэнцүү биш бол мөрийн тэмдэгтүүдийг том үсэг болгох ToUpper() аргыг дуудна.

  Нээгдсэн тоо: 2307 Төлбөртэй

Энэ хичээлээс эхлэн бид C# хэлний илүү нарийн ухагдхуунуудыг судлах тул тэдгээрийн суурь болох гурван механизмын талаар авч үзнэ. Эдгээрт   

  1. Тодорхой бус /далд/ төрөлжилт
  2. Нэргүй төрлүүд
  3. Өргөжүүлэлтийн аргууд

багтана. Эдгээр ухагдхуунууд тийм хүнд биш учраас ойлгоход онцын хүндрэлгүй.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 327

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 425

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 375

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 469

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 544

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 534

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 651

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 762

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 786

 
Энэ долоо хоногт

интеграл бод

Нээгдсэн тоо : 1239

 

хязгаарыг бод.

Нээгдсэн тоо : 1173

 

утгыг ол.

Нээгдсэн тоо : 825