Өгөгдлийг консолоос оруулах, үзүүлэх

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

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

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

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

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

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

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

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

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

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

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

Заримдаа програмийн ажиллагааны явцад урьдчилан тооцоход хэцүү эсхүл бүр боломжгүй алдаанууд гардаг. Жишээ нь сүлжээгээр файл дамжуулалт хийж байтал гэнэт сүлжээний холболт тасрах тохиолдол гарч болно. Ийм нөхцөл байдлыг exception буюу онцгой нөхцөл гэж нэрлэдэг. C# хэл ийм нөхцөл байдлын боловсруулалтыг хийх боломжийг боловсруулагчдад олгодог. Хэлэнд үүнд зориулагдсан try...catch...finally бүтэц бий.

try
{
     
}
catch
{
     
}
finally
{
     
}

try...catch..finally бүтцийг ашиглахад эхлээд try блокийн бүх командууд биелэгдэнэ. Блокт онцгой нөхцөл /exception/ үүсээгүй бол түүний дараа finally блок ажиллаад try...catch..finally бүтэц ажиллагаагаа дуусгана.

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

C# -д тоо, мөр гээд стандарт төрлийн утгуудаас гадна ямар нэгэн өгөгдөл, утга байхгүйг заах тусгай null утга гэж бий. Холбоосын төрлүүд анхдагч утгаар null утгыг авдаг. C# 8.0 хувилбар хүртэл бүх холбоосын төрлүүдэд null утгыг

string name = null;
Console.WriteLine(name);

олгож болдог байсан. Харин C# 8.0 хувилбараас холбоосын nullable төрөл (nullable reference types) болон холбоосын nullable төрлийг ашиглаж болох nullable aware context - буюу nullable-контекст ойлголтыг оруулсан.  
null утга авч болох холбоос төрлийн хувьсагч болон параметрийг тодорхойлохын тулд төрлийн нэрийн ард ? (асуултын тэмдэг) -ийг тавина. Жишээ нь

string? name = null;
Console.WriteLine(name);    // юу ч үзүүлэхгүй

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

Төлөв байдлын үүргийн гинж (Chain of responsibility) загварчлалын хэв шаардлагыг хэд хэдэн обьектууд боловсруулах боломжийг олгодог тул шаардлагын дамжуулагч хүлээн авагчтай хатуу уяа /холбоо/ үүсэхээс сэргийлдэг. Боломжит бүх боловсруулагчид гинж үүсгэн аль нэг обьект шаардлагыг боловсруулах хүртэл шаардлага өөрөө энэ гинжээр дамжина. Шаардлагыг хүлээн авсан обьект нэг бол шаардлагыг боловсруулна эсхүл шаардлагыг гүйцэтгүүлэхээр дараагийн обьектод шилжүүлдэг.

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

Загварчлалын зарчмуудын нэгээр классуудын багцуудыг үүсгэхдээ тэдгээрийн тодорхой хэрэгжүүлэлтийн бус харин интерфейсүүдийн түвшинд загварчлах хэрэгтэй гэж үздэг. Энэ тохиолдолд интерфейс гэдэгт зөвхөн interface гэсэн түлхүүр үгээр тодорхойлогдсон C# хэлний төрлийг ойлгохоос гадна ямар нэгэн тодорхой хэрэгжүүлэлт байхгүй функционал боломжуудын тодорхойлолтыг ойлгох хэрэгтэй. Өөрөөр хэлбэл энэхүү тодорхойлолтод интерфейсүүд болон тодорхой хэрэгжүүлэлт байхгүй абстракт аргуудтай байж болох абстракт классууд ч хамрагдсан гэсэн үг.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

Хоёр тойрог гадна талаараа шүргэлцсэн. Нэг тойргийн шүргэгч нь нөгөө тойргийнхоо төвийг дайран гарсан. Шүргэлтийн цэгээс хоёрдахь тойргийн төв хүртэлх зай нь энэ тойргийн радиусаас 3 дахин урт. Нэгдүгээр тойргийн урт хоёрдугаар тойргийн уртаас хэд дахин их вэ?

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

 

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

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

 

бол илэрхийллийн утгыг ол.

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