Verwenden Sie Objektinitialisierer - ReSharper-Vorschlag
Benutze ich ReSharper
jeden Tag, und heute fragte ich mich, warum ReSharper schlägt vor, dass "Verwenden Sie objektinitialisierer" wenn ich dies tun :
MyClass myClass = new MyClass();
myClass.MyInt = 0;
myClass.MyString = string.Empty;
Wird es ersetzt durch :
MyClass myClass = new MyClass
{
MyInt = 0,
MyString = string.Empty
};
Bedeutet dies die Optimierung der Ausführung von meinem code, oder ist es nur eine Frage der Neuformatierung?
Persönlich, ich mag es. Aber manchmal hasse ich es, wegen diesem :
Kann ich das nicht step-by-step
debugging 🙁
InformationsquelleAutor der Frage Wassim AZIRAR | 2013-12-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die zweite enthält weniger Zeichen und so ist kompakt zu Lesen. Sie müssen nicht, Sie zu wiederholen myClass 2 weitere Male, und der Initialisierungs-Logik wird in einem block.
Es ist wirklich ein syntaktischer Zucker, der verändert nichts in den generierten code. Wenn Sie nicht gefällt, kann man immer deaktivieren Sie die Warnung auf ReSharper.
Einen längeren Beitrag über die Vorteile der Verwendung von Objekt-Initialisierungen hier:
InformationsquelleAutor der Antwort Cyril Gandon
Können Sie tun, Schritt-für-Schritt-debugging teilweise wenn Initialisierungen sind Funktionsaufrufe:
In diesem Fall, F11, führt Sie direkt in die GenerateString Methode.
EDIT: Wenn Initialisierungen sind einfach Werte, dann Schritt-für-Schritt-debugging ist eh sinnlos.
InformationsquelleAutor der Antwort Zoran Horvat