Ein Faden ist als Ausführungspfad eines Programms definiert. Jeder Thread definiert einen einzigartigen Kontrollfluss. Wenn Ihre Anwendung komplizierte und zeitaufwändige Operationen umfasst, ist es oft hilfreich, verschiedene Ausführungspfade oder -threads festzulegen, wobei jeder Thread eine besti
C# erlaubt die Verwendung von Zeigervariablen in einer Funktion oder einem Codeblock, wenn er mit unsicher gekennzeichnet ist Modifikator. Der unsichere Code oder der nicht verwaltete Code ist ein Codeblock, der einen Zeiger verwendet Variable. Hinweise Ein Zeiger ist eine Variable, deren Wert die
Wir haben besprochen, dass Delegaten verwendet werden, um auf alle Methoden zu verweisen, die dieselbe Signatur wie die des Delegaten haben. Mit anderen Worten, Sie können eine Methode aufrufen, auf die von einem Delegaten verwiesen werden kann, indem Sie dieses Delegate-Objekt verwenden. Anonyme M
Generika erlauben Ihnen, die Spezifikation des Datentyps von Programmierelementen in einer Klasse oder einer Methode zu definieren, bis dieser tatsächlich im Programm verwendet wird. Mit anderen Worten, Generika ermöglichen es Ihnen, eine Klasse oder Methode zu schreiben, die mit jedem Datentyp arbe
Sammlungsklassen sind spezialisierte Klassen zum Speichern und Abrufen von Daten. Diese Klassen bieten Unterstützung für Stapel, Warteschlangen, Listen und Hash-Tabellen. Die meisten Sammlungsklassen implementieren dieselben Schnittstellen. Sammlungsklassen dienen verschiedenen Zwecken, z. B. der d
Veranstaltungen sind Benutzeraktionen wie Tastendruck, Klicks, Mausbewegungen usw. oder einige Vorkommnisse wie vom System generierte Benachrichtigungen. Anwendungen müssen auf Ereignisse reagieren, wenn sie auftreten. Zum Beispiel Interrupts. Ereignisse werden für die Kommunikation zwischen Prozess
C#-Delegates ähneln Zeigern auf Funktionen in C oder C++. Ein Delegierter ist eine Referenztypvariable, die den Verweis auf eine Methode enthält. Die Referenz kann zur Laufzeit geändert werden. Delegaten werden insbesondere zum Implementieren von Ereignissen und der Callback-Methoden verwendet. All
Ein Indexierer ermöglicht die Indizierung eines Objekts, z. B. eines Arrays. Wenn Sie einen Indexer für eine Klasse definieren, verhält sich diese Klasse ähnlich wie ein virtuelles Array . Sie können dann mit dem Array-Zugriffsoperator ([ ]) auf die Instanz dieser Klasse zugreifen. Syntax Ein eindi
Eigenschaften sind benannte Mitglieder von Klassen, Strukturen und Schnittstellen. Mitgliedsvariablen oder Methoden in einer Klasse oder Struktur werden Felder genannt . Eigenschaften sind eine Erweiterung von Feldern und werden mit derselben Syntax aufgerufen. Sie verwenden Accessoren über die die
Reflexion Objekte werden zum Abrufen von Typinformationen zur Laufzeit verwendet. Die Klassen, die Zugriff auf die Metadaten eines laufenden Programms gewähren, befinden sich in System.Reflection Namensraum. Die System.Reflection Namespace enthält Klassen, mit denen Sie Informationen über die Anwen
Ein Attribut ist ein deklaratives Tag, das verwendet wird, um Informationen über das Verhalten verschiedener Elemente wie Klassen, Methoden, Strukturen, Enumeratoren, Assemblys usw. in Ihrem Programm an die Laufzeit zu übermitteln. Sie können einem Programm deklarative Informationen hinzufügen, inde
Eine Datei ist eine Sammlung von Daten, die auf einer Festplatte mit einem bestimmten Namen und einem Verzeichnispfad gespeichert sind. Wenn eine Datei zum Lesen oder Schreiben geöffnet wird, wird sie zu einem Stream . Der Stream ist im Grunde die Folge von Bytes, die den Kommunikationspfad durchla
Eine Ausnahme ist ein Problem, das während der Ausführung eines Programms auftritt. Eine C#-Ausnahme ist eine Reaktion auf einen außergewöhnlichen Umstand, der auftritt, während ein Programm ausgeführt wird, z. B. der Versuch, durch Null zu dividieren. Ausnahmen bieten eine Möglichkeit, die Kontrol
Ein regulärer Ausdruck ist ein Muster, das mit einem Eingabetext abgeglichen werden könnte. Das .Net-Framework bietet eine Engine für reguläre Ausdrücke, die einen solchen Abgleich ermöglicht. Ein Muster besteht aus einem oder mehreren Zeichenliteralen, Operatoren oder Konstrukten. Konstrukte zur De
Die Präprozessordirektiven weisen den Compiler an, die Informationen vorzuverarbeiten, bevor die eigentliche Kompilierung beginnt. Alle Präprozessordirektiven beginnen mit #, und vor einer Präprozessordirektive in einer Zeile dürfen nur Leerzeichen stehen. Präprozessordirektiven sind keine Anweisun
Ein Namespace wurde entwickelt, um eine Möglichkeit zu bieten, eine Gruppe von Namen von einer anderen zu trennen. Die in einem Namensraum deklarierten Klassennamen stehen nicht in Konflikt mit denselben Klassennamen, die in einem anderen deklariert sind. Definieren eines Namensraums Eine Namespace
Eine Schnittstelle ist als syntaktischer Vertrag definiert, dem alle Klassen, die die Schnittstelle erben, folgen sollten. Die Schnittstelle definiert das was Teil des syntaktischen Vertrages und die abgeleiteten Klassen definieren das Wie Teil des syntaktischen Vertrages. Schnittstellen definieren
Sie können die meisten der in C# verfügbaren integrierten Operatoren neu definieren oder überladen. Somit kann ein Programmierer auch Operatoren mit benutzerdefinierten Typen verwenden. Überladene Operatoren sind Funktionen mit speziellen Namen das Schlüsselwort operator gefolgt vom Symbol für den z
Das Wort Polymorphismus bedeutet, viele Formen zu haben. Im objektorientierten Programmierparadigma wird Polymorphismus oft als „eine Schnittstelle, mehrere Funktionen“ ausgedrückt. Polymorphismus kann statisch oder dynamisch sein. Im statischen Polymorphismus , wird die Antwort auf eine Funktion z
Eines der wichtigsten Konzepte in der objektorientierten Programmierung ist die Vererbung. Durch Vererbung können wir eine Klasse in Bezug auf eine andere Klasse definieren, was das Erstellen und Verwalten einer Anwendung erleichtert. Dies bietet auch die Möglichkeit, die Codefunktionalität wiederzu
C Sprache