Eine statische Klasse ist eine Klasse, die wir nicht instanziieren k?nnen. Das einzige und wichtigste Ziel der statischen Klasse besteht darin, Blaupausen der geerbten Klassen bereitzustellen. Es wird mit Hilfe des Schlüsselworts ?static“ in C# erstellt. Die statische Klasse enth?lt nur statische Mitglieder. Wir k?nnen das Objekt für die statische Klasse nicht erstellen. In diesem Thema lernen wir die statische Klasse in C# kennen.
Statische Mitglieder
Die statische Klasse in C# besteht aus zwei Arten von Statik, die unten dargestellt sind:
1. Statische Datenmitglieder
Statische Datenelemente werden durch die Verwendung des Schlüsselworts static deklariert, da die statische Klasse immer die statischen Datenelemente enth?lt. Der Zugriff auf sie erfolgt auch direkt über den Klassennamen. Der Speicher der statischen Datenelemente wird unabh?ngig von ihrer Beziehung zum Objekt individuell zugewiesen.
Syntax:
static class NameOfClass { public static name_of_datamember; }
Beispiel:
public class Vehicle { public static int Wheels = 4; public static int GasTank { get { return 23; } } public static void move() { } public static event EventType RunOutOfGas; // Extra non-static fields as well as properties }
Sie werden initialisiert, bevor auf das statische Mitglied zum ersten Mal zugegriffen wird und vor dem statischen Konstruktor, falls einer aufgerufen wird. Um darauf zuzugreifen, verwenden wir den Namen der Klasse anstelle eines Variablennamens.
2. Statische Methoden
Die Verwendung des Schlüsselworts static deklariert statische Methoden, da die statische Klasse immer statische Methoden enth?lt. Diese Methoden k?nnen nur auf die statischen Datenelemente zugreifen und nicht auf nicht statische Datenelemente.
Syntax:
static class name_of_class { public static name_of_method() { // code } }
Beispiele für statische Klassen in C#
Hier sind die folgenden Beispiele aufgeführt
Beispiel #1
Code:
/* * C# Program to Check whether the Entered Number is Even or Odd */ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace check1 { class EvenAndOdd { static void Main(string[] args) { int i; if (4 % 2 == 0) // You can enter any number you wish to check for even / odd { Console.Write("Entered Number is an Even Number"); Console.Read(); } else { Console.Write("Entered Number is an Odd Number"); Console.Read(); } } } }
Ausgabe:
Beispiel #2
Code:
using System; using System.Collections.Generic; using System.Linq; using System.Text; public static class ABC { // declaration of static Method static void details() { Console.Write("Static Method of the class ABC is"); } } // Inheritance of the class ABC which would give an error since static // class cannot be inherited class ABC2 : ABC { public static void Main(String[] args) { } }
Ausgabe:
Erkl?rung:?Im ersten Beispiel gibt es eine statische Klasse namens ?Book“, die das Schlüsselwort ?static“ verwendet. Die Klasse Book?besteht aus statischen Datenelementen namens name, l und t sowie einer statischen Methode namens specs(). Diese Methode der statischen Klasse wird unter Verwendung des Klassennamens, also Book, aufgerufen. specs();. Da uns bereits bekannt ist, dass die statische Klasse nicht aus Objekten besteht, erfolgt der Zugriff auf Datenelemente der Klasse ?Book“ über ihren Klassennamen, also ?Book.name, Book“. l und Book.t.
Statische Konstruktoren
Statische Konstruktoren sind grunds?tzlich bei der Initialisierung der statischen Datenelemente nützlich, im Vergleich zum normalen Konstruktor, d. h. dem nicht statischen Konstruktor, der bei der Initialisierung der nicht statischen Datenelemente nützlich ist.
Funktionen/Regeln:
- Sie dürfen keinen der Zugriffsmodifikatoren haben.
- Sie k?nnen nicht zusammen mit Argumenten definiert werden.
- Sie haben keinen Zugriff auf nicht statische Datenelemente.
Speicherzuweisung für statische Elemente
Sie müssen wissen, dass die Grundkomponenten des Anwendungsspeichers Heap und Stack sind. Ein spezieller Bereich innerhalb des Heaps wird als Hochfrequenz-Heap bezeichnet, in dem statische Elemente gespeichert werden. Statische Mitglieder, die ebenfalls zu nicht statischen Klassen geh?ren, werden in einem Heap gespeichert und dann von allen Instanzen der Klasse gemeinsam genutzt. Daher werden die von einer Instanz vorgenommenen ?nderungen in allen anderen Instanzen widergespiegelt.
Wie Sie sicher bereits wissen, kann das statische Mitglied nur andere statische Mitglieder enthalten, da statische Mitglieder unabh?ngig von der Erstellung einer Instanz aufgerufen werden. Von nun an k?nnen sie nicht mehr auf nicht statische Mitglieder zugreifen.
Vorteile der statischen Klasse in C#
- Wir erhalten eine Fehlermeldung, falls Sie eines der Mitglieder als nicht statisches Mitglied angeben.
- Erneut wird ein Fehler bei der Kompilierung generiert, wenn wir versuchen, eine Instanz für eine statische Klasse zu erstellen, da auf statische Mitglieder direkt zusammen mit ihrem Klassennamen zugegriffen werden kann.
- Das Schlüsselwort static wird vor dem Schlüsselwort class in der Klassendefinition verwendet, um eine statische Klasse zu deklarieren.
- Auf statische Klassenmitglieder kann über den Klassennamen, gefolgt vom Mitgliedsnamen, zugegriffen werden.
Fazit
- Wir k?nnen die statischen Klassen nicht mit dem neuen Schlüsselwort instanziieren
- Statische Elemente haben nur die M?glichkeit, auf andere statische Elemente zuzugreifen. Bedenken Sie, dass die statische Klasse nur statische Mitglieder wie Variablen, Methoden usw. enth?lt.
- Eine statische Methode enth?lt nur statische Variablen und sie k?nnen auch nur auf die restlichen statischen Elemente zugreifen.
- Statische Elemente haben die M?glichkeit, Ressourcen zwischen mehreren Benutzern zu teilen.
- Statisch k?nnen wir nicht zusammen mit Indexern, Destruktoren oder anderen Typen als den Klassen verwenden.
- Au?erdem wird ein statischer Konstruktor in der nicht-statischen Klasse nur einmal ausgeführt, wenn die Klasse zum ersten Mal instanziiert wird.
- Au?erdem wird ein in der statischen Klasse vorhandener statischer Konstruktor nur einmal ausgeführt, wenn zum ersten Mal auf eines der statischen Mitglieder zugegriffen wird.
- Statische Mitglieder werden in einem Hochfrequenz-Heap-Speicherbereich zugewiesen.
Das obige ist der detaillierte Inhalt vonStatische Klasse in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen





Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, w?hrend asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, w?hrend asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, w?hrend der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abh?ngt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsf?higkeit asynchron verwenden müssen.

Die Geschichte und Entwicklung von C# und C sind einzigartig, und auch die Zukunftsaussichten sind unterschiedlich. 1.C wurde 1983 von Bjarnestrustrup erfunden, um eine objektorientierte Programmierung in die C-Sprache einzuführen. Sein Evolutionsprozess umfasst mehrere Standardisierungen, z. B. C 11 Einführung von Auto-Keywords und Lambda-Ausdrücken, C 20 Einführung von Konzepten und Coroutinen und sich in Zukunft auf Leistung und Programme auf Systemebene konzentrieren. 2.C# wurde von Microsoft im Jahr 2000 ver?ffentlicht. Durch die Kombination der Vorteile von C und Java konzentriert sich seine Entwicklung auf Einfachheit und Produktivit?t. Zum Beispiel führte C#2.0 Generics und C#5.0 ein, die eine asynchrone Programmierung eingeführt haben, die sich in Zukunft auf die Produktivit?t und das Cloud -Computing der Entwickler konzentrieren.

Es gibt verschiedene M?glichkeiten, XML -Formate zu ?ndern: manuell mit einem Texteditor wie Notepad bearbeiten; automatisch Formatierung mit Online- oder Desktop -XML -Formatierungswerkzeugen wie XMLBeautifier; Definieren Sie Conversion -Regeln mithilfe von XML -Conversion -Tools wie XSLT; oder analysieren und mit Verwendung von Programmiersprachen wie Python arbeiten. Seien Sie vorsichtig, wenn Sie die Originaldateien ?ndern und sichern.

Es gibt drei M?glichkeiten, XML in Wort zu konvertieren: Verwenden Sie Microsoft Word, verwenden Sie einen XML -Konverter oder verwenden Sie eine Programmiersprache.

Zu den Methoden zum Umwandeln von XML in JSON geh?ren: Schreiben von Skripten oder Programmen in Programmiersprachen (wie Python, Java, C#) zum Konvertieren; Einfügen oder Hochladen von XML -Daten mithilfe von Online -Tools (z. B. XML in JSON, Gojko XML Converter, XML Online -Tools) und Auswahl der JSON -Formatausgabe; Durchführung von Konvertierungsaufgaben mit XML mit JSON -Konvertern (wie Oxygen XML -Editor, Stylus Studio, Altova XMLSPY); Konvertieren von XML in JSON mithilfe von XSLT -Stylesheets; Verwenden von Datenintegrationstools (z. B. informatisch

C# Multi-Thread-Programmierung ist eine Technologie, mit der Programme gleichzeitig mehrere Aufgaben ausführen k?nnen. Es kann die Programmeffizienz verbessern, indem es die Leistung verbessert, die Reaktionsf?higkeit verbessert und die parallele Verarbeitung implementiert. W?hrend die Thread -Klasse eine M?glichkeit bietet, Threads direkt zu erstellen, k?nnen erweiterte Tools wie Task und Async/Warted sicherer asynchroner Operationen und eine sauberere Codestruktur liefern. H?ufige Herausforderungen bei der Multithread -Programmierung umfassen Deadlocks, Rassenbedingungen und Ressourcenleckage, die eine sorgf?ltige Gestaltung von Fadenmodellen und die Verwendung geeigneter Synchronisationsmechanismen erfordern, um diese Probleme zu vermeiden.

Wie erstelle ich Anwendungen mit .NET? Erstellen Anwendungen mit .NET k?nnen in den folgenden Schritten erreicht werden: 1) Verstehen Sie die Grundlagen von .NET, einschlie?lich C# Sprache und plattformübergreifender Entwicklungsunterstützung; 2) Kernkonzepte wie Komponenten und Arbeitsprinzipien des .NET -?kosystems lernen; 3) Master Basic und Advanced Nutzung, von einfachen Konsolenanwendungen bis hin zu komplexen Webapis- und Datenbankvorg?ngen; 4) Mit gemeinsamen Fehlern und Debugging -Techniken wie Konfigurations- und Datenbankverbindungsproblemen vertraut sein; 5) Optimierung der Anwendungsleistung und Best Practices wie asynchrone Programmieren und Zwischenspeichern.

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.
