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

Нөхцөлт илэрхийлэл тусдаа үйлдлийн багц. Ийм үйлдлүүд 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 -ийн утгыг тооцно.
Энэ нь &/&& үйлдлүүдэд бас хамаарна.
Илэрхийллийн утгын тооцолох хугацааг хэмнэн програмийн бүтээмжийг дээшлүүлэх учраас || , && үйлдлүүд илүү эвтэйхэн. Харин | , & үйлдлүүд тоонуудад битийн үйлдлүүд хийхэд илүү тохиромжтой.

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

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

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

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

Манай энэ удаагийн сэдэв сонирхолтой болоод нилээд хүнд лямбда илэрхийлэл байх болно. Лямбда илэрхийлэлтэй танилцахын өмнө делегат гэж юу болох талаар делегат ба үйл явдал хичээлээс үзэхийг зөвлөе. Делегатын талаар ойлголтгүйгээр та лямбда илэрхийлэл гэж юу болохыг ойлгоход их хүндрэлтэй. Делегат ба үйл явдал хэрхэн ажилладагийг доорх кодоос харцгаая.

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

Exception бол програмчлалын олон хэлэнд байдаг алдааг боловсруулах стандарт механизм. Хичээлээр С# дээр алдааны боловсруулалтыг хэрхэн үүсгэн хэрэгжүүлэхийг авч үзнэ. Та дэлгэц дээрээсээ харж байгаа код бол хийж болохгүй аргачлалын тод жишээ байгаа.

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

.NET фреймворк ердийн төрлүүдээс гадна ерөнхийлөгдсөн (generics) төрлүүд болон ерөнхийлөгдсөн аргуудын үүсгэлтийг дэмждэг. Энэхүү боломжийн онцлогийг судлахын өмнө ерөнхийлөгдсөн төрлүүд байхгүй бол үүсч болох асуудлуудыг авч үзье. Жишээ нь

class Person
{
    public int Id { get;}
    public string Name { get;}
    public Person(int id, string name)
    {
        Id = id;
        Name = name;
    }
}

гэж хэрэглэгчийн өгөгдлийг хадгалах классийг тодорхойллоо гэж үзье. Person класст Id - хэрэглэгчийн давтагдахгүй идентификатор, Name - хэрэглэгчийн нэр гэсэн хоёр шинжийг тодорхойлсон. Энд хэрэглэгчийн идентификаторийг тоон утгаар өгсөн тул шинж 1, 2, 3, 4 гэх мэтээр утгуудыг авна.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

олон гишүүнтийг үржигдхүүн болгон задал.

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

 

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

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

 

Тоног төхөөрөмжийн сайжруулалтын үр дүнд ажилчны хөдөлмөрийн бүтээмж жилд хоёр удаа нэг ижил хувиар дээшилжээ. Хэрвээ ажилчин нэг ижил хугацаанд өмнө нь 2500 х.н харин одоо 2809 х.н бутээгдхүүн хийдэг болсон бол хөдөлмөрийн бүтээмж өсөх бүрдээ хэдэн хувиар өссөн бэ?

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