l'articolo di MSDN su String Basics mostra questo:Perché l'aggiunta di null a una stringa è legale?
string str = "hello";
string nullStr = null;
string emptyStr = "";
string tempStr = str + nullStr; // tempStr = "hello"
bool b = (emptyStr == nullStr);// b = false;
string newStr = emptyStr + nullStr; // creates a new empty string
int len = nullStr.Length; // throws NullReferenceException
Perché non concatenando con null un'eccezione riferimento null? È per rendere più facile la vita di un programmatore, in modo che non debbano controllare nulla prima della concatenazione?
La domanda riguardava in ultima analisi la logica del linguaggio. Alcune persone hanno provato a fare supposizioni in altre risposte. Avremmo bisogno di qualcuno della SM per rispondere qui. –
Scelta eccellente da parte del team C# in quanto ha funzionato come un fascino con l'operatore C-6 null-condizionale, specialmente se associato alle caratteristiche di interpolazione della stringa C# 6: ad es. 'return $" {persona? .FirstName} {persona? .LastName} "' – GDS