sah ich einen Code von einem anderen Entwickler geschrieben, die etwa wie folgt aussieht:Würde die einfache Klasseninstanziierung jemals in C# fehlschlagen?
var stringBuilder = new StringBuilder();
if(stringBuilder == null)
{
// Log memory allocation error
// ...
return;
}
(Es ist ganz über den Platz im Code)
Frage 1: Wäre das Fehlerprotokollierung Code selbst aufgerufen ? Wenn es keinen Speicher gäbe, würde nicht ein System.OutOfMemoryException
in dieser ersten Zeile geworfen werden?
Frage 2: Kann ein Aufruf an einen Konstruktor jemals null zurückgeben?
Technisch ist es möglich, für die Proxy-Klassen und nullables, wie Marc GRA aus hat darauf, aber es ist so ein pathologischer Fall, dass es sich nicht lohnt Berücksichtigung http://stackoverflow.com/questions/194484/whats-the- seltsamsten-Ecke-Fall-Sie-gesehen-in-c-oder-net –