Como todo mundo já notou, ele vem mais ou menos da linguagem C, onde você pode obter um código falso se acidentalmente esquecer o segundo sinal de igual. Mas há outro motivo que também corresponde ao C #: legibilidade.
Veja este exemplo simples:
if(someVariableThatShouldBeChecked != null
&& anotherOne != null
&& justAnotherCheckThatIsNeededForTestingNullity != null
&& allTheseChecksAreReallyBoring != null
&& thereSeemsToBeADesignFlawIfSoManyChecksAreNeeded != null)
{
// ToDo: Everything is checked, do something...
}
Se você simplesmente trocar todas as palavras nulas para o início, poderá identificar com muito mais facilidade todas as verificações:
if(null != someVariableThatShouldBeChecked
&& null != anotherOne
&& null != justAnotherCheckThatIsNeededForTestingNullity
&& null != allTheseChecksAreReallyBoring
&& null != thereSeemsToBeADesignFlawIfSoManyChecksAreNeeded)
{
// ToDo: Everything is checked, do something...
}
Portanto, este exemplo pode ser um mau exemplo (consulte as diretrizes de codificação), mas pense em rolar rapidamente por um arquivo de código completo. Simplesmente vendo o padrão
if(null ...
você sabe imediatamente o que está por vir.
Se fosse o contrário, você sempre teria que escanear até o final da linha para ver o cheque de nulidade, apenas deixando você cambalear por um segundo para descobrir que tipo de cheque é feito lá. Então, talvez o realce de sintaxe possa ajudá-lo, mas você sempre é mais lento quando essas palavras-chave estão no final da linha em vez de na frente.