Null -г шалгах ?, ?? операторууд

Програмчлалын C# хэл хатуу төрөлжилттэй тул өгөгдөлтэй ажиллах үед null утга асуудал үүсгэх тохиолдол их. Үүнийг тооцолгүй бичигдсэн код бүр ажлын /production/ хувилбараар ажиллаж байхдаа алдаа өгөх тал бий. Кодийн тестийг хийхдээ тухайн хувьсагчид null утга олгогдох тохиолдолыг тооцохгүй байх нь ийм асуудал гарах үндсэн шалтгаан хэдий ч кодлогч энэ талаар өөрөө бодон кодлох хэрэгтэй.   

null -ийн шалгалт. Null guard /хамгаалагч/

Коддоо null утга авдаг өөрөөр хэлбэл nullable төрлийн хувьсагч болон параметрүүд ашиглах болбол NullReferenceException алдаа гарахаас сэргийлэн null -ийг шалгах хэрэгтэй. Жишээ нь

void PrintUpper(string? text)
{
    if (text!=null)
    {
        Console.WriteLine(text.ToUpper());
    }    
}

Дээрх кодод text параметр null -тэй тэнцүү биш бол мөрийн тэмдэгтүүдийг том үсэг болгох ToUpper() аргыг дуудна.

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

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

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

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

C# нь хатуу төрөлжилттэй хэл тул програмийн кодод ашиглагдаж буй бүх хувьсагчдийн төрлийг заавал тодорхойлосон байх шаардлагатай. Энд төрлүүдийн хувиргалт ухагдхуун маш чухал үүрэгтэй. Төлвүүдийн хөрвүүлэлтийн логикийг ойлгоогүйгээс үүдэн програмийн ажиллагааны явцад алдаа гарах явдал цөөнгүйн дээр ийм төрлийн алдааг илрүүлэхэд нилээд хүндрэл үүсэх талтай. Иймд хэлний онцлогийг зөв ойлгон эзэмшихийг зөвлөе.
Бид Суурь өгөгдлийн төрлүүдийн хөрвүүлэлт хичээлд энгийн төрлүүдийн обьектийн хувиргалтыг үзсэн. Одоо классийн обьектуудын хувиргалтыг авч үзье.

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

Арга утга эсхүл ямар нэгэн үр дүнг буцааж болно. Өмнөх хичээлүүдэд тодорхойлсон аргууд void төрлийн буюу ямар нэгэн утга буцаахгүйгээр тодорхой үйлдлүүдийг хийж байсан. Аргаас утга буцаахдаа return операторийг хэрэглэх бөгөөд операторийн араас буцаах утгыг өгдөг.

return буцаах_утга;

Жишээ нь string төрлийн утга буцаах аргыг тодорхойльё.

string GetMessage()
{
    return "Hello";
}

GetMessage аргын тодорхойлолтод string төрлийг заасан учраас арга мөр буцаах ёстой. Иймээс аргын биед return операторийг ашиглаад араас нь буцаах мөрийг заасан.

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

Entity Framework сэдвийн хүрээнд нийтлэгдэж буй энэхүү хичээлд бид Linq технологид хүсэлтийг sql төрлийн бичлэгтэй төстэй байдлаар бичин ашиглах боломжийн тухай үзнэ. Өмнөх хичээлүүдэд ашиглаж байсан програмын кодын харилцагчдын мэдээллийг авах GetCustomersEF() аргыг доорх байдлаар өөрчлөн өгье.

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

Өмнөх хичээлүүдэд бид

  • Олон урсгал гэж юу болох, түүнийг үүсгэн ажиллах
  • Invoke аргын ажиллагааны зарчим, делегатыг дамжуулах механизм
  • Invoke аргын дээд түвшингийн багцлалт болох SynchronizationContext класс
  • Олон урсгалыг хэрэгжүүлэхэд машины нөөцийг урсгалын багцлалтаар хэрхэн хэмнэх
  • Олон урсгалыг хэрэгжүүлэх дээд түвшиний BackgroundWorker, Task классууд
  • Олон урсгалыг бараг синхрон код байдлаар хэрэгжүүлэх async/await түлхүүр үгүүд

гэх мэтийн олон чухал ухагдхуунуудыг үзсэн. Энэ удаагийн хичээлээр Task классыг ашиглан алдааны боловсруулалт, үйлдлийн цуцлалтыг хэрхэн хийхийг авч үзье.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

функцийн интервал дахь хамгийн бага утгыг ол.

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

 

Зөв дөрвөн өнцөгт пирамидын өндөр 4. Хажуу ирмэг суурийн хавтгайд 30 градусын өнцгөөр налсан бол пирамидын хажуу ирмэгийг ол.

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

 

бол M·N=?

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