Heim > Artikel > Backend-Entwicklung > Einführung in den Unterschied zwischen statischen und nicht statischen Methoden in C#
1. Statische Methoden können ohne Klasseninstanziierung aufgerufen werden, wohingegen nicht statische Methoden instanziiert werden müssen, bevor sie aufgerufen werden können
2. Statische Methoden können nur auf statische Mitglieder und Methoden zugreifen, und nicht statische Methoden können darauf zugreifen
3. Statische Methoden können nicht als Überschreibung markiert werden, was dazu führt, dass abgeleitete Klassen nicht überschrieben werden können kann zugegriffen werden;
4 .Statische Mitglieder werden bei der ersten Verwendung initialisiert. Nicht statische Mitglieder sind in Bezug auf die Speicherzuweisung beim Erstellen eines Objekts kontinuierlich, während nicht statische Mitglieder in der Speicherspeicherung diskret sind. Daher wird die Geschwindigkeit statischer Methoden in Bezug auf die Aufrufgeschwindigkeit zwischen statischen Methoden und nicht statischen Methoden definitiv variieren Beeilen Sie sich, denn nicht statische Methoden müssen instanziiert und Speicher zugewiesen werden, statische Methoden jedoch nicht, aber der Geschwindigkeitsunterschied ist vernachlässigbar
1. Eine Methode hat nichts mit dem Instanzobjekt ihrer Klasse zu tun und ist nicht auf die Instanz von new angewiesen, dann sollte sie statisch sein
2. Es erfordert keine objektorientierten Konzepte. Verwenden Sie manchmal statisch; zum Beispiel Tiere -> RUN, da Sie Katzenlauf und Hundelauf erweitern können, müssen Sie nicht statische Methoden verwenden
Es gibt nur eine Instanz einer statischen Methode. Für eine hohe Parallelität verwenden alle gleichzeitigen Ausführungen diese Methode und der Wert der statischen Variablen ändert sich, was dazu führt Probleme;
Natürlich hat die Unsicherheit der Parallelität nichts mit der Methode selbst zu tun, sondern mit der gemeinsam genutzten Ressource. Wenn beispielsweise eine Variable von jedem Thread bearbeitet wird, kann ihr Wert geändert werden. Parallelität bedeutet eigentlich mehrere Threads) Betreibe es, Der Wert ist verwirrend und es gibt ein Problem
Dies ist eine Methode Es wurde ursprünglich als statische Methode geschrieben. Andere haben keinen Grund, eine Codezeile zu instanziieren und zu speichern, und sie haben nicht über den Unterschied zwischen statischer und nicht-basierter Methode nachgedacht. statisch==! ~~; Natürlich ist es auch möglich, nicht statische Methoden zu schreiben.
Gründe
1. Da die Methode wiederholt aufgerufen werden muss, verursacht der Wechsel zu new jedes Mal Speicheraufwand , verwenden static Die Methode befindet sich immer im Speicher und es ist nicht erforderlich, die Daten in einem neuen Bereich neu zu initialisieren.
2. Es ist nicht erforderlich, OO auszuführen 3. Die Methode hängt nicht vom Inhalt von new ab.
Die klassischere statische Methode, im Grunde alle statischen Methoden in DBHelp
Das obige ist der detaillierte Inhalt vonEinführung in den Unterschied zwischen statischen und nicht statischen Methoden in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!