Делегатууд

Делегат нь аргыг заасан обьектоор илэрхийлэгдэнэ. Өөрөөр хэлбэл делегат гэдэг нь аргын заагч бөгөөд түүгээр тухайн аргыг дуудаж болно.

Делегатийн тодорхойлолт

Делегатийг зарлахдаа delegate түлхүүр үгийг ашиглах ба түүний араас буцаах төрөл, нэр, параметрүүд байрлана. Жишээ нь

delegate void Message();

Message делегатийн буцаах төрөл void (өөрөөр хэлбэл юу ч буцаахгүй) бөгөөд ямарч параметрийг авахгүй. Энэ нь Message делегат ямарч параметр авдаггүй бөгөөд юу ч буцаадаггүй дурын аргыг зааж болно гэсэн үг.
Message делегатийн хэрэглэгээг

Message mes;            // 2. делегатийн хувьсагчийг үүсгэх
mes = Hello;            // 3. хувьсагчид аргын хаягийг олгох
mes();                  // 4. аргыг дуудах

void Hello() => Console.WriteLine("Hello World");
delegate void Message(); // 1. делегатийг зарлах

үзүүлсэн дээрх кодийг авч үзье.

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

request_quoteТусгай эрх авах

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

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

Мэдээллийн технологийн салбарын хөгжлийг дагаад кодлогчийн хэрэгцээ жилээс жилд өссөөр байна. Програмийн кодлогч болоход туслах зорилгоор сайтад орчин үед өндөр эрэлттэй байгаа хэлүүдийн хичээлүүдийг цувралаар оруулсаар байх болно. Аливаа зүйлийг сурах суурь бол таны хүсэл эрмэлзлэл гэдгийг Суралцах хир хэцүү вэ? нийтлэлийг уншаад эргэцүүлэн бодоорой.

Хичээлээр консолоос өгөгдөл оруулах, консолд өгөгдлийг үзүүлэхийг судлах болно.

Консолийн гаралт

Өмнөх хичээлүүдэд консолд мэдээлэл үзүүлэхдээ компиляторын Console.WriteLine аргыг хэрэглэсэн. Хэрвээ консолд мэдээллийг гаргах хэрэгтэй түүнийг Console.WriteLine аргад дамжуулах хэрэгтэй. Жишээ нь төслийн Program.cs файлд

string hello = "Сайн уу Монгол";
Console.WriteLine(hello);
Console.WriteLine("C# -д тавтай морил!");
Console.WriteLine("Баяртай Монгол...");
Console.WriteLine(24.5);

командуудыг (statement) өгөөд төслийг ажлуулбал консолд

гэж харуулна.

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

Нэмэлт урсгалтай ажиллах аргачлалын талаарх ээлжит хичээлийг толилуулъя. Та програм хангамжийн чиглэлээр ажилладаг эсхүл суралцдаг бол сайтын C# хэлний хичээлүүдийг бүгдийг үзэхийг зөвлөе. Учир нь C# хэлэнд оруулан өгсөн технологиудийн утгыг сайн ойлгохгүйгээр програм бичнэ гэвэл нилээд хүндхэн асуудал үүснэ шүү. Програмчлалын хэлүүдийн бичлэгийн ерөнхий дүрэм бараг ижилхэн болсон хэдий ч онолын үндсэн аргачлал, технологийг хэл бүр өөрийн онцлогоор хэрэгжүүлсэн байдаг. Иймээс технологийг ойлгохын тулд тухайн хэлийг гүнзгий судалсан байх хэрэгтэй. Технологийг сайн судлаагүй хүмүүс хэлэнд өөрт нь байдаг боломжуудыг өөрсдөө хэрэгжүүлэх гэж цаг хугацаа, хүч хөдөлмөрөө ихээр үрдэг ч үр дүн нь мэдээжээр сайнгүй гардаг гэдгийг санаарай. Хичээлээр нэмэлт урсгалын нэмэлт урсгалд гарсан алдааг хэрхэн зөв боловсруулахыг авч үзье.

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

Бүх онцгой нөхцлүүдийн суурь бол Exception төрөл. Төрөлд онцгой нөхцлийн талаарх мэдээллийг авч болох хэдэн шинжийг тодорхойлсон байдаг. Үүнд:

  • InnerException - үүссэн онцгой нөхцлийн шалтгаан болсон онцгой нөхцлийн тухай мэдээллийг хадгална.
  • Message - алдааны мэдээллийг хадгална
  • Source - онцгой нөхцлийг дуудсан обьект эсхүл багцын нэрийг хадгална
  • StackTrace - онцгой нөхцлийг үүсгэхэд хүргэсэн дуудалтын стекийг мөр илэрхийллээр буцаана
  • TargetSite - онцгой нөхцөл дуудагдсан аргыг буцаана

  Нээгдсэн тоо: 1170 Нийтийн

Сайтад програмчлалын C# хэлний нарийн ухагдхуун, механизмуудын талаарх хичээлүүдийг нийтэлж байгаа. Энэ удаад C# дээр олон урсгалыг хэрэгжүүлэх сэдвийн хүрээнд урсгалын багц гэж юу болох түүнийг хэрхэн ашиглах тухай үзье.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэгшитгэлийг бод.

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

 

тэнцэтгэл бишийг бод.

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

 

Хоёр тамирчин тойрог замаар нэгэн зэрэг гарч 3,2 км замыг туулан барианд оржээ. Тойргийг нэг тамирчин нөгөөгөөсөө 10 секундээр хурдан тойрдог. Ялагч барианд орж байхад нөгөө нь бүтэн тойрог гүйх үлдсэн байлаа. Ялагч замыг 9 мин 20 секундэд туулсан бол тойрог замын уртыг ол. Тамирчдын хурдыг тогтмол гэж үзнэ.

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