Нөхцөлт илэрхийлэл

Нөхцөлт илэрхийлэл тусдаа үйлдлийн багц. Ийм үйлдлүүд bool төрлийн логик утгыг буцаадаг. Нөхцөлт илэрхийлэл үнэн бол true, илэрхийлэл худал бол false утгыг буцаана. Ийм үйлдлүүдэд харьцуулах, логик үйлдлүүд хамаарагдана.

Харьцуулалтын үйлдэл

Харьцуулалтын үйлдэл хоёр операндийг харьцуулаад илэрхийлэл үнэн бол true, эсрэг тохиолдолд false утгыг буцаадаг.

  • == Тэнцүү. Хоёр операндийг тэнцүү эсэхийг шалгана. Операндууд тэнцүү бол true, тэнцүү биш бол false утгыг буцаана. Жишээ.
    int a = 10;
    int b = 4;
    bool c = a == b; // false
  • != Тэнцүү биш. Хоёр операндийг харьцуулаад тэнцүү биш бол true, тэнцүү бол false -ийг буцаана. Жишээ.
    int a = 10;
    int b = 4;
    bool c = a != b;    // true
    bool d = a!=10;     // false
  • < Бага. Нэгдүгээр операнд хоёрдугаар операндаас бага бол true, нэгдүгээр операнд хоёрдугаар операндаас их бол false утгыг өгнө. Жишээ.
    int a = 10;
    int b = 4;
    bool c = a < b; // false   
  • > Их. Нэгдүгээр операнд хоёрдугаар операндаас их бол true, нэгдүгээр операнд хоёрдугаар операндаас бага бол false утгыг өгнө. Жишээ.
    int a = 10;
    int b = 4;
    bool c = a > b;     // true
    bool d = a > 25;    // false
  • <= Бага эсхүл тэнцүү. Хоёр операндыг харьцуулаад нэгдүгээр операнд хоёрдугаар операндаас бага эсхүл тэнцүү бол true, эсрэг тохиолдолд false утгыг өгнө. Жишээ.
    int a = 10;
    int b = 4;
    bool c = a <= b;     // false
    bool d = a <= 25;    // true
  • >= Их эсхүл тэнцүү. Хоёр операндыг харьцуулаад нэгдүгээр операнд хоёрдугаар операндаас их эсхүл тэнцүү бол true, эсрэг тохиолдолд false утгыг өгнө. Жишээ.
    int a = 10;
    int b = 4;
    bool c = a >= b;     // true
    bool d = a >= 25;    // false

<, > <=, >= үйлдлүүд == , != үйлдлээс дээгүүр зэрэглэлтэй байдаг.

Логик үйлдлүүд

C#bool төрлийн утгыг буцаах логикийн операторууд бий. Үйлдлүүд операндоор bool төрлийн утгыг авдаг. Хэдэн харьцуулах үйлдлүүдийг нэгтгэсэн харьцаанд голдуу ашигладаг.

  • | Логик нийлбэр буюу логик БУЮУ /OR/. Үйлдэлд оролцогчийн аль нэг нь true утгыг буцааж байвал true утгыг өгнө. Жишээ.
    bool x1 = (5 > 6) | (4 < 6); // 5 > 6 - false, 4 < 6 - true, тул true буцаана
    bool x2 = (5 > 6) | (4 > 6); // 5 > 6 - false, 4 > 6 - false, тул false буцаана
  • & Логик үржвэр буюу логик БА /AND/ үйлдэл. Хоёр операнд хоёулаа true байвал true -г буцаана. Жишээ.
    bool x1 = (5 > 6) & (4 < 6); // 5 > 6 - false, 4 < 6 - true, тул false буцаана
    bool x2 = (5 < 6) & (4 < 6); // 5 < 6 - true, 4 < 6 - true, тул true буцаана.
  • || Логик нийлбэрийн үйлдэл. Үйлдэлд оролцогчийн аль нэг нь true утгыг буцааж байвал true утгыг өгнө. Жишээ.
    bool x1 = (5 > 6) || (4 < 6); // 5 > 6 - false, 4 < 6 - true, тул true буцаана
    bool x2 = (5 > 6) || (4 > 6); // 5 > 6 - false, 4 > 6 - false, тул false буцаана
  • && Логик үржвэрийн үйлдэл. Хоёр оролцогч хоёулаа true бол true утгыг өгнө.
    bool x1 = (5 > 6) && (4 < 6); // 5 > 6 - false, 4 < 6 - true, тул false утыг өгнө
    bool x2 = (5 < 6) && (4 < 6); // 5 < 6 - true, 4 < 6 - true, тул true утгыг өгнө
  • ! Логик үгүйсгэл. Үйлдэл нэг операнд дээр хийгдэх бөгөөд операнд false байвал true -г харин true бол false -ийг буцаана. Жишээ.
    bool a = true;
    bool b = !a;    // false
  • ^ Тусгай OR буюу XOR үйлдэл. Үйлдлийн нэг эсхүл хоёрдугаар операнд true (гэхдээ хоёулаа нэгэн зэрэг биш) байвал true утгыг өгнө. Бусад тохиолдолд false -ийг буцаана.
    bool x5 = (5 > 6) ^ (4 < 6); // 5 > 6 - false, 4 < 6 - true, тул true буцаана
    bool x6 = (50 > 6) ^ (4 / 2 < 3); // 50 > 6 - true, 4/2 < 3 - true, тул false буцаана

Логик үйлдлүүдэд | ба || (бас & ба &&) хосууд төстэй үйлдлийг гүйцэтгэх хэдий ч ижил биш. Ялгааг жишээн дээр харцгаая.
z=x|y; илэрхийлэлд x, y -ийн утгуудыг хоёуланг нь тооцдог. Өөрөөр хэлбэл үйлдэлд оролцогч илэрхийллүүдийн утгыг бүгдийг тооцно гэсэн үг. Харин
z=x||y; илэрхийлэлд эхлээд x -ийн утгыг тооцоод хэрвээ утга true байвал y -ийн утгыг тооцохгүйгээр true -г буцаана. Учир нь || логик нийлбэрийн үйлдлийн дүрэм тийм. x -ийн утга false үед y -ийн утгыг тооцно.
Энэ нь &/&& үйлдлүүдэд бас хамаарна.
Илэрхийллийн утгын тооцолох хугацааг хэмнэн програмийн бүтээмжийг дээшлүүлэх учраас || , && үйлдлүүд илүү эвтэйхэн. Харин | , & үйлдлүүд тоонуудад битийн үйлдлүүд хийхэд илүү тохиромжтой.

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

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

Давталт (Iterator) паттерн нийлмэл обьектын бүх элементүүдэд тэдгээрийн дотоод бүтцийг задлахгүйгээр хандах абстракт интерфейсийг тодорхойлдог. C# хэл дээр програм зохиогчид массив эсхүл коллекцийн обьектуудыг татан авдаг foreach циклтэй ажиллаж үзсэн байх. Энэ үед коллекцийн нийлмэл классуудад өөрийн бүтэц ба төлвөөрөө ялгаатай олонлог оршиж байдаг. Коллекцийг foreach -р гүйлгэн обьектуудыг авах боломжийг олгож байгаа түлхүүр хэрэгсэл бол давталт хэв буюу энгийнээр хэлбэл IEnumerable , IEnumerator хоёр интерфейс юм.

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

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

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

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

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

Өмнөх хичээлүүдэд int, byte, double, string, object гэх мэтийн өгөгдлийн төрлүүдийг үзсэн. Үүний зэрэгцээ структур, тооллого /enum/, класс зэрэг нарийн төрлүүдийг ч үзсэн. Энэ бүх төрлүүдийг утгын төрлүүд (утгатай төрлүүд ч гэж бас нэрлэдэг) (value types) ба холбоосын төрлүүд (reference types) гэсэн ангилалд хувааж болно. Эдгээрийн ялгааг ойлгох нь чухал.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

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

 

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

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

 

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

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