Нэрийн глобал орон зай

Төслийн кодийн файл дахь ямар нэгэн нэрийн орон зайг ашиглах хэрэгтэй бол ашиглах гэж буй бүх файлд түүнийг анхдагчаар холбон оруулах хэрэгтэй болно.
Жишээ нь төсөлд кодийн гурван файл байлаа

гэж үзье.

Base.cs файлд Base орон зайд

namespace Base;
class Company
{
    string title;
    public Company(string title) => this.title = title;
    public void Print() => Console.WriteLine($"Компан: {title}");
}

Company класс тодорхойлогдсон. Харин Person.cs файлд тодорхойлогдсон Person класс

using Base;
 
class Person
{
    string name;
    Company company;
    public Person(string name, Company company)
    {
        this.name = name;
        this.company = company;
    }
    public void Print()
    {
        Console.WriteLine($"Нэр: {name}");
        company.Print();
    }
}

Company классийг ашиглана. Person класст Company классийг ашиглахын тулд түүний орон зайн нэрийг using Base гэж оруулан ирсэн. Program.cs класст Person, Company классуудыг ашиглана.

using Base;
 
Company microsoft = new("Microsoft");
Person tom = new("Tom", microsoft);
tom.Print();

Энд Company классийг ашиглахын тулд дахиад л using Base гэж нэийн орон зайг оруулан ирнэ.
Base (эсхүл ямар нэгэн өөр) орон зайг оруулан ирэх файлууд олон байвал энэ нь тийм ч эвтэйхэн биш нь тодорхой. .NET 6 -д үүнд зориулагдсан нэрийн глобал орон зай гэсэн ойлголтыг оруулан ирсэн. Үүний тулд аль нэгэн файлд зохих директивийг бичихэд хангалттай.

global using оруулан_ирэх_нэрийн_орон_зай;

Тэгвэл Program.cs файлыг дараах

global using Base;
 
Company microsoft = new("Microsoft");
Person tom = new("Tom", microsoft);
tom.Print();

байдлаар өөрчилье. Одоо Base нэрийн орон зай төслийн бүх кодийн файлд холбогдох учраас Person.cs файлаас using Base; мөрийг хасаж болно.

Глобал нэрийн орон зайг тусдаа файлд тодорхойлох

Дээр дурдсан аргаар нэрийн глобал орон зайг аль нэгэн файлд заан өгөх нь бас дутагдалтай. Program.cs файлд заагаад байж болох ч нэрийн глобал орон зайг тусд нь тодорхойлоод төслийн аль нэгэн газарт оруулан ирэх нь бүр ч энгийн. Үүний тулд Visual Studio 2022C# -ийн кодийн шинэ файлыг нэмээд түүнд төсөлд оруулан ирэх нэрийн орон зайнуудыг тодорхойлно. Жишээ нь төсөлд GlobalUsings.cs нэртэй файл нэмээд түүнд

зурагт үзүүлсэн агуулгыг оруулан өгье. Одоо энэхүү нэрийн орон зайн багцууд төслийн бүх файлд автоматаар холбогдох тул бид global using Base; -ийг өөр ямар нэгэн файлд оруулан өгөх

албагүй болсон.

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

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

Нэг төрлийн өгөгдлүүдээр илэрхийлэгдэх өгөгдлийн төрлийг массив гэнэ. Массивийн зарлалт хувьсагчийнхтай төстэй хэдий ч төрлийн заалтын араас дөрвөлжин [] хаалтыг тавьдаг.

хувьсагчийн төрөл[] массивийн нэр;

Жишээ нь бүхэл тоон массивийг тодорхойлбол

int[] numbers;

байна. Массивийн хувьсагчийн тодорхойлолтын дараа түүнд утга олгож болно.

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

Боловсруулагчид C# дээр програм зохиохдоо голдуу Visual Studio эсхүл ямар нэгэн JetBrains компаний Rider мэтийн IDE (integrated development environment) боловсруулалтын хэрэгслийг ашигладаг. Гэхдээ бүхий л IDE -нууд боловсруулалтын ажиллагааг хөнгөвчилж өгдөг ч програм үүсгэх ажиллагааны олон жижиг зүйлүүдийг цаанаа хийдэг. Үнэн хэрэгтэй бид зөвхөн .NET CLI -ийн боломжийг ашиглан боловсруулалтын орчингүйгээр ажиллах боломжтой.

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

Хөрвүүлэгч (Interpreter) хэв нь тодорхой хэлний дүрмийг илэрхийлэн энэ хэлний өгүүлбэр хөрвүүлэгчийг /орчуулагч/ тодорхойлдог.

Хэвийг UML диаграмаар дараах байдлаар тодорхойлно.

patt_20_01

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

функц өгөгдөв.

  1. f(x) функцын x0=5 абсцисстай M цэгт татсан шүргэгч шулууны тэгшитгэл
  2. f(x) функцын график, дээрх шүргэгч шулуун болон координатын тэнхлэгүүдээр хүрээлэгдсэн дүрсийн талбай  
  3. f(x) функцын графикийг M цэгт шүргэх, төв нь OX (абсцисс) тэнхлэг дээр орших тойргийн тэгшитгэл

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

 

20 хувийн концентрацитай 18 гр уусмал дээр концентрацийг нь 4 хувиар нэмэгдүүлэхийн тулд 26 хувийн концентрацитай хичнээн грамм уусмал нэмж хийх шаардлагтай вэ?

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

 

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

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