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 суугдсан өөр компьютерт хуулан ажлуулах боломжтой.

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

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

Entity Framework -ийн талаарх өмнөх хичээлүүдэд бид MSSQL серверт энгийн өгөгдлийн сан үүсгээд түүнд ADO NET -ээр хандах стандарт арга болон EF технологийг ашиглан хандахыг үзсэн. Entity Framework -ийг ашиглан өгөгдлийн санд хандах код нь стандарт аргаас хамаагүй бага бөгөөд уншин ойлгоход амархан байсныг харсан. Одоо програмын кодоос EF технологиор өгөгдлийн санд хандаж болох аргуудын талаар авч үзье.

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

Практикгүй онол бол хоосон зүйл гэж ярьдаг. Иймээс энэ хичээлээр .NET Framework -ийн стандарт сан WinForms -ийг ашиглан бүрэн хэмжээний програмыг зохиох болно. Хичээлийн зорилго бол өмнөх хичээлүүдэд үзсэн бүх аргчлалуудыг практикт хэрхэн ашиглахыг сурах юм. Эдгээрээс  интерфейсийг ашиглахыг түлхүү үзэх болно. Бидний зохиох програм бол энгийн текст засварлагч байх бөгөөд дараах зүйлсийг хийдэг байхаар боловсруулагдана.

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

Обьект хандлагат програмчлал encapsulation - хайрцаглалт, inheritance - удамшилт, polymorphism - полиморфизм гэсэн гурван үндсэн зарчим дээр суурилдаг гэдгийг өмнөх хичээлүүдэд үзсэн. Энэ хичээлээр polymorphism - полиморфизм зарчмын талаар үзэх болно. Монголоор орчуулгад тохирох үгийг би олж чадаагүй. Полиморфизм гэдэг нь суурь классын ажиллагааны төлөв байдлыг хүүхэд класст өөрчлөхийг хэлнэ. Ойлгомжгүй байна уу. Гэхдээ үнэндээ бол тийм нарийн зүйл биш.

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

Өмнөх хичээлүүдээр бид өгөгдлийн төрлүүд, үйлдлүүд, цикл, нөхцөлт бүтэцүүд, массив, арга гээд C# програмчлалын хэлний суурь ойлголтуудыг үзсэн. C# бол бүрэн хэмжээний обьект хандлагат хэл. ОХП -ийн аргачлал орчин үед маш өргөн дэлгэрсэн тул өргөн дэлгэрсэн програмчлалын хэлүүд бүгд энэ парадигмийг дэмждэг. Энгийнээр ОХП -нь програмийг өөр хоорондоо харилцан холбогдож ажиллах обьектууд байдлаар зохиох аргачлал юм. Цаашид програмчлалын илүү нарийн ойлголтуудыг судлаж эхлэх учраас өмнөх хичээлүүдийг үзсэн байхыг зөвлөе.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

KLM суурьтай, KL=1, KK1=d талтай KLL1K1 тэгш өнцөгт хажуу бүхий KLMK1L1M1 призм өгөгджээ. KL_|_KM, LMM1 , KMM1 хавтгайнуудын хоорондын өнцөг 60°, бол утганд призмд түүний бүх талыг шүргэх шаарыг багтааж болно.

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

 

тоонд хуваахад гарах тооны аравтын бичлэгт "0" цифр хэдэн удаа орох вэ?

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

 

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