Irgendwelche guten Gründe, Null-Koalescing-Operator für die faule Initialisierung nicht zu verwenden?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Irgendwelche guten Gründe, Null-Koalescing-Operator für die faule Initialisierung nicht zu verwenden?

Post by Anonymous »

Grüße Ich habe heute einen faulen Initialisierungscode durchgeführt und dachte, warum nicht den Null-Koalescing-Operator verwenden, aber dann dachte ich, dass es einen Overhead oder zusätzliche Kosten gibt, um dies auf diese Weise zu tun. Sie haben genau die gleichen Ergebnisse und erscheinen gleichwertig. Meine ersten Gedanken sind, dass nach dem Erstellen des Objekts jetzt eine zusätzliche Zuordnung von sich selbst mit zu sich selbst vorhanden ist. Ist dies eine Nicht-Ausgabe und der Compiler/JIT optimiert dies ein wenig, wie, gibt es etwas schändlicheres und Sie sollten niemals eine faule Initialisierung mit? < /p>

Code: Select all

private MyLazyObject _lazyObject;

public MyLazyObject GetMyLazyObjectUsingMoreCommonMethod()
{
if (_lazyObject != null)
return _lazyObject;

_lazyObject = new MyLazyObject();

return _lazyObject;
}

public MyLazyObject GetMyLazyObjectUsingNullCoalescingOpMethod()
{
_lazyObject = _lazyObject ?? new MyLazyObject();
return _lazyObject;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post