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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Irgendwelche guten Gründe, Null-Koalescing-Operator für die faule Initialisierung nicht zu verwenden?

by Anonymous » 18 Mar 2025, 16:27

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;
}

Top