Task классыг ашиглан алдааны боловсруулалт хийх

Өмнөх хичээлүүдэд бид

  • Олон урсгал гэж юу болох, түүнийг үүсгэн ажиллах
  • Invoke аргын ажиллагааны зарчим, делегатыг дамжуулах механизм
  • Invoke аргын дээд түвшингийн багцлалт болох SynchronizationContext класс
  • Олон урсгалыг хэрэгжүүлэхэд машины нөөцийг урсгалын багцлалтаар хэрхэн хэмнэх
  • Олон урсгалыг хэрэгжүүлэх дээд түвшиний BackgroundWorker, Task классууд
  • Олон урсгалыг бараг синхрон код байдлаар хэрэгжүүлэх async/await түлхүүр үгүүд

гэх мэтийн олон чухал ухагдхуунуудыг үзсэн. Энэ удаагийн хичээлээр Task классыг ашиглан алдааны боловсруулалт, үйлдлийн цуцлалтыг хэрхэн хийхийг авч үзье.

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

how_to_regБүртгүүлэх

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

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

Арга утга эсхүл ямар нэгэн үр дүнг буцааж болно. Өмнөх хичээлүүдэд тодорхойлсон аргууд void төрлийн буюу ямар нэгэн утга буцаахгүйгээр тодорхой үйлдлүүдийг хийж байсан. Аргаас утга буцаахдаа return операторийг хэрэглэх бөгөөд операторийн араас буцаах утгыг өгдөг.

return буцаах_утга;

Жишээ нь string төрлийн утга буцаах аргыг тодорхойльё.

string GetMessage()
{
    return "Hello";
}

GetMessage аргын тодорхойлолтод string төрлийг заасан учраас арга мөр буцаах ёстой. Иймээс аргын биед return операторийг ашиглаад араас нь буцаах мөрийг заасан.

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

Манай энэ удаагийн хичээлийн сэдэв бол олонлог. C# -д олонлогийн хэдэн төрлүүд байдаг. Олонлогийн тухай ойлголт интерфейс ба ерөнхийлөлтэй их холбоотой тул хичээлийг үзэхээс өмнө интерфейс , ерөнхийлөл сэдвийн хичээлүүдийг судлахыг зөвлөе.

Олонлог гэж юу вэ?

C# -д олонлогийг ямар нэгэн обьектуудын багц гэж ойлгоно. Жишээ нь бүхэл тоонуудын массив int[] a; бол бүхэл тоонуудыг багц учраас олонлог. list<string> lst; - мөрүүдийн жагсаалт бас л олонлог. Энд ухагдхууны хувьд тодорхой төөрөгдөл үүсдэг. Ном, интернет нийтлэлүүдэд цуглуулга /collection/, жагсаалтын талаар авч үзэхдээ тэдгээрийг олонлог гэж үзсэн байдаг. Үнэн хэрэгтээ цуглуулга /collection/, жагсаалт, дарааллууд бол олонлогийн тухайн тохиолдол юм. Эдгээрийн ялгааг бид хичээлээр үзэх болно.

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

Хэрвээ системийн өөрийн дотоод онцгой нөхцлийн төрлүүд тохиромжгүй бол бид өөрсдөө төрлүүд үүсгэж болно. Бүх онцгой нөхцлийн суурь класс Exception учраас өөрийн төрлийг үүсгэхдээ бид энэ классаас удамшуулна.  
Жишээ нь манай програмд насны хязгаарлалт байлаа гэе.

try
{
    Person person = new Person { Name = "Tom", Age = 17 };
}
catch (Exception ex)
{
    Console.WriteLine($"Алдаа: {ex.Message}");
}
 
class Person
{
    private int age;
    public string Name { get; set; } = "";
    public int Age
    {
        get => age;
        set
        {
            if (value < 18)
                throw new Exception("18 нас хүрээгүй бол бүртгэл хаалттай");
            else
                age = value;
        }
    }
}

Person классийн age шинжид утга олгохдоо шалгалт хийн нас 18 -аас бага бол онцгой нөхцлийг үүсгэнэ.

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

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

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

Хуваах нь нэг тоо нөгөө тоонд хэдэн удаа агуулагдаж буй тодорхойлох арифметикийн үйлдэл.
Хуваалтыг нэг бус удаа…

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

 

Зуучлагч (Mediator) нь олон тооны обьектууд бие биетэйгээ холбоос үүсгэхгүйгээр харилцан ажиллах боломжийг хангах загварчлалын хэв юм. Ингэснээр…

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

 

Делегатууд хичээлд ухагдхууны талаар дэлгэрэнгүй үзсэн ч жишээнүүд делегатийн хүчийг бүрэн харуулж чадахааргүй байсан.…

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

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

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

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

 

Долоон хүнийг 2 ба 5 хүнтэй хоёр багт хуваах нийт боломжийн тоог ол.

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

 

Гадаад шүргэлтээр байрласан R ба r радиустай хоёр тойрогт дотоод ерөнхий болон гадаад хоёр шүргэгчийг татжээ. Гадаад шүргэгчдийн хооронд үүсэх дотоод шүргэгч дээрх хэрчмийн уртыг ол.

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