Как все уже отметили, это происходит в большей или меньшей степени от языка Си, где вы можете получить ложный код, если случайно забудете второй знак равенства. Но есть и другая причина, которая также соответствует C #: удобочитаемость.
Просто возьмите этот простой пример:
if(someVariableThatShouldBeChecked != null
&& anotherOne != null
&& justAnotherCheckThatIsNeededForTestingNullity != null
&& allTheseChecksAreReallyBoring != null
&& thereSeemsToBeADesignFlawIfSoManyChecksAreNeeded != null)
{
// ToDo: Everything is checked, do something...
}
Если вы просто поменяете местами все слова null в начале, вы можете намного легче найти все проверки:
if(null != someVariableThatShouldBeChecked
&& null != anotherOne
&& null != justAnotherCheckThatIsNeededForTestingNullity
&& null != allTheseChecksAreReallyBoring
&& null != thereSeemsToBeADesignFlawIfSoManyChecksAreNeeded)
{
// ToDo: Everything is checked, do something...
}
Так что этот пример может быть плохим примером (обратитесь к руководству по кодированию), но просто подумайте о том, как быстро пролистать полный файл кода. Просто увидев рисунок
if(null ...
Вы сразу знаете, что будет дальше.
Если бы все было наоборот, вам всегда нужно отсканировать до конца строки, чтобы увидеть проверку недействительности, просто позволяя вам споткнуться на секунду, чтобы выяснить, что это за проверка оттуда Поэтому, возможно, подсветка синтаксиса может вам помочь, но вы всегда медленнее, когда эти ключевые слова находятся в конце строки, а не в начале.