Programming-Basics-Book-CSharp-BG

Как работи операторът && ?

Операторът && приема няколко булеви (условни) израза, които имат стойност true или false, и ни връща един булев израз като резултат. Използването му вместо редица вложени if блокове прави кода по-четлив, подреден и лесен за поддръжка. Но как работи, когато поставим няколко условия едно след друго? Както видяхме по-горе, логическото “И” връща true, само когато приема като аргументи изрази със стойност true. Съответно, когато имаме последователност от аргументи, логическото “И” проверява или докато свършат аргументите, или докато не срещне аргумент със стойност false.

Пример:

bool a = true;
bool b = true;
bool c = false;
bool d = true;
bool result = a && b && c && d;
// false (като d не се проверява)

Програмата ще се изпълни по следния начин: започва проверката от а, прочита я и отчита, че има стойност true, след което проверява b. След като е отчела, че a и b връщат стойност true, проверява следващия аргумент. Стига до c и отчита, че променливата има стойност false. След като програмата отчете, че аргументът c има стойност false, тя изчислява израза до c, независимо каква е стойността на d. За това проверката на d се прескача и целият израз бива изчислен като false.