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

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Тусгай эрх авах

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

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

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

Хэвийг хаана ашиглах  

  • Төлөв байдлаараа ялгаатай нэг төрлийн хэдэн классууд байх үед нэг үндсэн классыг өгөөд төлөв байдлын өөр хувилбаруудыг тусдаа классуудад гаргаад шаардлагатай үед тэдгээрийг хэрэглэх.
  • Нөхцлөөс хамааран алгоритмын хувилбаруудаас амархан сонголт хийх боломжийг хангах хэрэгтэй үед.
  • Програм ажиллах явцдаа обьектуудын төлөв байдлыг өөрчлөх шаардлагатай үед
  • Тодорхой ажиллагааг ашиглаж буй класс түүний хэрэгжүүлэлтийн талаар юуг ч мэдэх ёсгүй үед

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

Юуны өмнө ОХП-ын хэлүүд болон C# хэлэнд байдаг тодорхой суурь ухагдхууны талаар ойлголтыг авах хэрэгтэй. ОХП-ын хэлэнд бараг бүх обьектууд өгөгдлийн төрлүүд байдаг.

  • Хувьсагч гэдэг нь төрөл бүрийн утгуудыг авч болдог дараа нь тэдгээрийг өөр төрлийн утгаар өөрчилж болдог хэлний элемент юм. Иймээс түүнийг хувьсагч гэж нэрлэдэг. Тогтмол утга гэж бас байдаг. Тогтмол утга нь хувьсагчаас ялгаатай нь өөрийн утгаа компиляц хийх үед ганц удаа аваад тухайн утгаа дахин өөрчилдөггүй. Хувьсагч гэдгийг ямар нэгэн зүйлийг эсхүл тухайн зүйл хаана байгааг заах мэдээллийг хадгалж болдог хайрцагтай зүйрлэж болно.
  • Өгөгдлийн төрөл гэдгийг хувьсагч авч болох утгуудын олонлог гэж ойлгоно. Хэрвээ бид хувьсагчийг бүхэл тоон төрлийнх гэж заавал түүнд зөвхөн бүхэл тоог эсхүл логик төрлийнх гэвэл зөвхөн логик утгыг авна гэсэн үг. Өөрөөр хэлбэл хувьсагч өөрийн төрөлд багтах утгуудын олонлогоос л утгаа авах ёстой гэсэн үг.
  • Обьект гэдэг нь хувьсагч авсан тодорхой утга эсхүл тухайн утгыг авах холбоосын утгыг хувьсагчид олгосонг хэлнэ. Энэ ойлголт нь ОХП-ын үндсэн гол ойлголт байдаг.

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

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

class Message
{
    public string Text { get; } // мэдээллийн текст
    public Message(string text)
    {
        Text = text;
    }
}

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

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

Загвар (Prototype) хэв өмнө нь үүсгэсэн загвар обьектоос үндэслэн обьектыг үүсгэх боломжийг олгодог. Өөрөөр хэлбэл хэв обьектуудын хуулбар /клон/ үүсгэх техникийг хэрэгжүүлдэг.

Хэвийг хаана ашиглах

Шинээр үүсгэгдэх обьектын төрлийг програмын ажиллагааны үед динамикаар тодорхойлох хэрэгцээтэй үед

  • Классын зэрэгцээ шатлалаас бүтээгдхүүн обьектуудыг үүсгэхийн тулд тусдаа классын үйлдвэрийн шатлалыг үүсгэхийг хүсэхгүй үед. Жишээ нь абстракт үйлдвэр хэвийг ашиглахад үүнийг хийдэг.
  • Обьектыг байгуулагчаар үүсгэн, утга олгохоос илүү хувилбар обьектын хуулбарлалт байх үед. Ялангуяа обьект хязгаарлагдмал цөөн тооны боломжит төлөвийг авч болох тохиолдолд.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

4 хүнийг нэг эгнээнд хичнээн янзаар жагсах боломжтой вэ?

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

 

тэгшитгэлийн хамгийн бага эерэг шийдийг ол.

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