Некоторые кодеры будет обернуть каждое условие в своих скобках, например:Цель скобки вокруг выражений, соединенных логическим "и"
Style # 1:
bool Test(string a, string b)
{
return ((a != null) && (b != null));
}
Style # 2:
bool Test(string a, string b)
{
return a != null && b != null;
}
В C# разница чисто стилистическая (по крайней мере, я так думаю). Первое выражение оценивается первым, а второе выражение оценивается только в том случае, если первое значение истинно (в противном случае оно замыкается, потому что все выражение уже подтверждено ложным).
Кто-то отметил, что № 1 выше - «старый стиль С». Какова его практическая цель? Есть ли какая-либо фактическая разница между этими двумя, или это какая-то защита от опечаток (например, запись if (true == x)
вместо if (x == true)
).
Большинство людей, при нажатии и/или проснувшихся в 4 часа ночи, не знают * все * правила приоритета оператора наизусть все время, поэтому небольшая лексическая помощь проходит долгий путь. –
В этом случае порядок операций делает два оператора (и «return a! = Null && b! = Null», без каких-либо скобок) полностью идентичны. Все три действительны и C. Я бы оставил их в этом случае, но часто бывает полезно оставить их для сложных заявлений или в которых задействовано более одного приоритета (чтобы вам не приходилось слишком много думать, особенно с более эзотерическими правилами приоритета для таких операторов, как '>>' и '%'). – Cameron
Я всегда считал, что это потому, что люди изучают BODMAS в математике до того, как научиться программированию, поэтому сделайте это, чтобы обеспечить порядок исполнения, так как это то, что они впервые узнали – Sayse