VS, анхны програм

C# хэл дээр програм зохиоход бидэнд юу хэрэгтэй вэ?

  • Програмийн кодоо бичих текст засварлагч.
  • Програмийн кодийг exe өргөтгөлтэй файлд багцлах компилятор /хөрвүүлэгч/
  • Програмийн компиляц, цаашдын ажиллагаанд хэрэгтэй .NET фреймворк

хэрэгтэй.

Програмийн кодийг бичих, тестлэн зүгшрүүлэх ажиллагааг хөнгөвчлөх үүднээс ихэнхдээ тусгай боловсруулалтын орчинг ашигдладаг. Тухайлбал Visual Studio.

C# дээр програм зохиохдоо үнэгүй, ажиллагааны бүрэн боломжтой Visual Studio Community 2022 боловсруулалтын орчинг ашиглана.

Санамж: Visual Studio 2019 болон түүний өмнөх хувилбарууд .NET 6 ба C# 10 -ыг дэмждэггүй тул заавал Visual Studio 2022 хэрэгтэй.

Суулгагчийг /installer/ татан аваад түүнийг ажлуулна. Visual Studio Community 2022 суулгах ажиллагаа ердийн програм суулгахтай ижил боловч таниас Visual Studio -той цуг суулгах компонентийг сонгохыг санал болгосон цонх гарч ирнэ. Visual Studio олон тооны хэл болон платформоор програм боловсруулах боломжтой маш функционал ихтэй боловсруулалтын орчин гэдгийг дурдая. Visual Studio боловсруулалтын орчинд C# , .NET 6 төслийг дэмжүүлэхийн тулд ASPNET and web development компонентийг сонгоход хангалттай. Илүү олон бүр бүх компонентийг сонгож болох ч хатуу дискнйи чөлөөт зайгаа тооцоорой. Олон сонголт хийх тусам програм диск дээр илүү их зай эзлэх болно. Цааш суулгагч таны компьютерт хэрэгцээт бүхий л хэрэгслүүдийг суулгана.
Машиныхаа системийн бус диск дээр програмийн кодоо хадгалах хавтасыг үүсгэн өгөөрэй. Би G:\munkh\project C# хавтасыг ашиглахаар үүсгэн өгсөн.
Боловсруулалтын орчинг суулгаж дууссаны дараа эхний програмаа зохиохын тулд Visual Studio -ийг ачааллахад нээгдэх цонхноос Create a new project (Шинэ төсөл үүсгэх) -ийг сонгоно.

Дараагийн цонхонд төслийн төрлөөр Console App -ийг сонгоорой. Өөрөөр хэлбэл бид C# хэл дээр консолийн програм зохионо гэсэн үг.

Програмийн төрлөө сонгоод Next товчийг дарахад нээгдэх дараагийн цонхонд төслийн /програмийн/ нэр, байрших хавтасны сонголтыг хийнэ.

Төслийн нэрийг програмийн санал болгосноор үлдээе. Энд та өөрийн нэрийг өгч болно гэдэг нь ойлгомжтой. Location талбарт өөрийн үүсгэсэн хавтасаа заан өгөөрэй. Одоо Next товчийг дарна.

Дараагийн цонхонд төсөлд ашиглах .NET -ийн хувилбарыг сонгоод төслийг үүсгэх Create (үүсгэх) товчийг дарахад Visual Studio төслийг үүсгээд нээнэ.

Төвийн том талбар бол текст засварлагч бөгөөд түүнд боловсруулалтын орчин анхдагчаар үүсгэсэн C# код гарч ирнэ. Баруун хэсэгт төслийн бүтцийг харуулсан Solution Explorer цонх байрлана. Одоогоор Visual Studio үүсгэсэн анхдагч бүтэц харагдаж байгаа. Dependencies бол төсөлд анхдагчаар нэмэгдсэн dll багцыг агуулсан хэсэг. Энэ багцад C# ашиглах .NET -ийн классуудын санг агуулагдана. Гэхдээ бүх багцууд дандаа хэрэгтэй байгаад байдаггүй. Цаашдаа хэрэггүй сангуудыг хасах эсхүл нэмэх боломжтой. Цааш төвийн цонхонд код нь нээгдсэн Program.cs байрлана. Visual Studio файлд ердөө хоёр мөр кодийг үүсгэсэн байгаа.

// тэмдэгтээр эхэлсэн эхний мөр бол кодийн тайлбар юм.
Хоёрдахь Console.WriteLine("Hello World!"); мөр бол програмийн код. Энэ мөр консолд "Hello World!" мөрийг үзүүлнэ. Хэдийгээр програм ганцхан мөр кодтой ч F5 эсхүл хэрэслүүдийн самбар дахь ногоон товчийг даран ажиллууж болох программ. Програмийг ажлуулбал консолд "Hello World!" мөрийг үзүүлнэ.

Ямар нэгэн товчийг дарвал консолийн цонх хаагдана. Одоо Program.cs -ийн кодийг

Console.Write("Your name: ");
string? name = Console.ReadLine();        // нэрээ оруулах
Console.WriteLine($"Hi {name}");     // нэрийг консолд үзүүлэх

болгон өөрчилье. Кодийн хоёрдахь мөр гараас өгөгдөл оруулахыг хүснэ. Console.Write() арга консолд түүнд дамжуулсан мөрийг үзүүлнэ. Манай тохиолодолд энэ нь "Your name: " мөр юм.
Хоёрдахь мөрөнд хэрэглэгч консолоос мэдээлэл оруулах мөрийн name хувьсагчийг тодорхойлсон. name хувьсагчид консолоос оруулсан тэмдэгтийг унших Console.ReadLine() аргын үр дүнг олгосон. Өөрөөр хэлбэл хэрэглэгч консолоос оруулсан тэмдэгтүүд name хувьсагчид орно гэсэн үг.
string? name илэрхийлэл string? төрөлтэй name хувьсагч тодорхойлогдсонг заана. Өөрөөр хэлбэл мөр хадгалах боломжтой хувьсагч гэсэн үг. Энд string нь хувьсагч мөр төрлийн утга хадгалахыг харин ? нь хувьсагч null утгыг хадгалж болохыг зааж байгаа юм. Өөрөөр хэлбэл хувьсагч утгагүй байж болохыг заасан хэрэг.
Console.WriteLine($"Hi {name}"); мөр оруулсан нэрийг консолд үзүүлнэ. name хувьсагчийн утгыг консолд үзүүлэх мөрөнд оруулахын тулд {} хаалтыг хэрэглэнэ. Ингэснээр WriteLine арга консолд мөрийг үзүүлэхэд {name} илэрхийлэл name хувьсагчийн утгаар солигдох юм. Хувьсагч доторх утгыг ийм байдлаар мөр дотор оруулан консолд гаргахын тулд WriteLine аргын үзүүлэх мөрийн өмнө $ /долларын тэмдэг/ -ийг заах хэрэгтэй.
Програмийг ажлуулбал

гэж ажиллана. Ингээд бид анхны програмаа зохиолоо. Програмийн exe файл төслийг хадгалсан хавтасны bin\Debug\net6.0 хавтаст байрлана. Файл төслийн нэрээр нэрлэгдэх ба exe өргөтгөлтэй байна. Одоо энэ файлыг Visual Studio -гүйгээр эсхүл .NET 6 суугдсан өөр компьютерт хуулан ажлуулах боломжтой.

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

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

Удамшилт (inheritance) бол ОХП -ийн үндсэн ойлголтуудын нэг. Удамшилтаар нэг класс өөр классийн ажиллагаануудыг өвлөх /дамжуулан авах/ боломж бүрддэг. Бидэнд хүнийг тодорхойлох

class Person
{
    private string _name = "";
 
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
    public void Print()
    {
        Console.WriteLine(Name);
    }
}

Person класс байлаа гэе. Гэтэл бидэнд компаний ажилтанг тодорхойлох Employee класс хэрэгтэй боллоо гэж үзье. Компаний ажилтан хүн учраас Employee класс Person классийн хийдэг үйлдлүүдийг хийх болно.

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

.NET -д бүх классууд бүр бидний үүсгэсэн классууд, жишээ нь System.Int32 гэх мэтүүд суурь төрлүүд далд хэлбэрээр Object классаас үүсдэг. Кодод Object классийг сууриар зааж өгөөгүй байсан ч анхдагчаар далд хэлбэрээр Object класс удамшилтын шатлалын оройд байрладаг. Иймээс бүх төрлүүд, классууд System.Object класст тодорхойлогдсон аргуудыг хэрэгжүүлж болно. Эдгээр аргуудыг авч үзье.

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

Класс ба структурт ердийн талбар, арга, шинжүүдээс гадна статик талбар, арга, шинжүүд байж болдог. Статик талбар, арга, шинжүүд бүх класс, структурт хамаарна. Классийн статик гишүүнд хандахдаа классийн хувийг үүсгэх албагүй.

Статик талбар

Статик талбар класс ба структурийн төлвийг хадгална. Статик талбаруудыг ердийн талбарууд шиг тодорхойлох ч талбарын төрлийн өмнө static түлхүүр үгийг тавьдаг.

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

Олон урсгалыг үүсгэн удирдах хичээлээр бид Invoke аргаар удирдлагыг нэмэлт урсгалаас үндсэн урсгалд хэрхэн шилжүүлэх талаар авч үзсэн. Invoke арга удирдлагыг нэмэлт урсгалаас үндсэн урсгалд шилжүүлэх цорын ганц зам биш. .NETSynchronizationContext гэдэг класс бий. Энэ класс нэг эсхүл олон урсгалыг барин тэдгээрийн хооронд удирдлагыг дамжуулах ажиллагааг хийдэг. Ерөнхийдөө Invoke арга хийдэгтэй ижил. Эндээс Invoke аргаар шийдэж болж байхад бас нэгэн класс байх ямар хэрэгтэй юм бэ? гэсэн асуулт гарч ирнэ.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

функцийн тодорхойлогдох мужийг ол.

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

 

g(x)=2x-3x2 нь f(x)=x2-x3 -ийн уламжлал бол -ийг ол.

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

 

хязгаарыг ол.

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