Параметрийг холбоосоор ба утгаар дамжуулах. Гаралтын параметрүүд.

C# -д аргад параметрийг утгаар ба холбоосоор дамжуулах гэсэн хоёр арга байдаг.

Параметрийг утгаар дамжуулах

Параметрийг дамжуулах хамгийн энгийн арга бол утгаар нь дамжуулах юм. Энэ бол параметрийг дамжуулах ердийн арга.

void Increment(int n)
{
    n++;
    Console.WriteLine($"Increment аргад дамжуулсан параметрийн утга: {n}");
}

int number = 5;
Console.WriteLine($"Increment аргын өмнөх number хувьсагч: {number}");
Increment(number);
Console.WriteLine($"Increment аргын дараах number хувьсагч: {number}");

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

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

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

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

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

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

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

Делегатийг зарлахдаа 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. делегатийг зарлах

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

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

Бид өмнөх хичээлээр битүүмжлэгдсэн, статик классуудын талаар үзсэн. ОХП-д классууд чухал үүрэгтэй нь ойлгомжтой. Иймээс класуудын төрлүүдийг мэдээд зогсохгүй тэдгээрийг хаана хэрхэн ашиглахыг маш зөв ойлговол таны код цэгцтэй, ойлгомжтой, өөрчлөлт, шинэчлэл хийхэд уян хатан болдог. 

Програмчлалын аргачлал Singleton

Статик арга, классыг хэрхэн ашиглах жишээ болгоод Singleton гэдэг өргөн дэлгэрсэн програмчлалын  аргачлалыг авч үзье. Програм зохиогчдын дунд энэхүү аргачлалын талаар эерэг, сөрөг янз бүрийн үзэл бодлууд байдаг гэдгийг хэлэх нь зүйтэй.

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

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

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

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

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

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);    // юу ч үзүүлэхгүй

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

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

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

 

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

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