C # Struktur (Struct)
In C # ist die Struktur ein Wert Art der Datenstruktur. Es ermöglicht eine einzelne variable Daten können auf verschiedene Arten von Daten, die sich speichern.struct Schlüsselwort wird verwendet , um eine Struktur zu schaffen.
Struktur wird verwendet, um einen Datensatz darstellen. Angenommen, Sie dynamische Bibliothek Bücher verfolgen möchten. Sie können den Überblick über jedes Buch der folgenden Attribute behalten möchten:
- Titel
- Autor
- Thema
- Buch-ID
Definition Struktur
Um eine Struktur zu definieren, müssen Sie eine Struktur-Anweisung verwenden. struct Erklärung für das Programm definiert einen neuen Datentyp mit mehr als einem Mitglied.
Zum Beispiel können Sie die folgende Art und Weise Buch Struktur erklären:
struct Bücher { public string title; public string Autor; public string Thema; public int book_id; };
Das folgende Programm zeigt die Verwendung der Struktur:
using System; struct Bücher { public string title; public string Autor; public string Thema; public int book_id; }; public class testStructure { public static void Main (string [] args) { Bücher Mappe1 / * Erklärung Mappe1 Typ Buch * / Bücher Book2 / * Erklärung Mappe2 Typ Buch * / / * Buch 1 Detaillierung * / Book1.title = "C-Programmierung"; Book1.author = "Nuha Ali"; Book1.subject = "C Programming Tutorial"; Book1.book_id = 6.495.407; / * Book 2 Detaillierte Beschreibung * / Book2.title = "Telecom Billing"; Book2.author = "Zara Ali"; Book2.subject = "Telecom Billing Tutorial"; Book2.book_id = 6.495.700; / * Drucken Mappe1 Informationen * / Console.WriteLine ( "Buch 1 Titel: {0}", Book1.title); Console.WriteLine ( "Buch 1 Autor: {0}", Book1.author); Console.WriteLine ( "Buch 1 Thema: {0}", Book1.subject); Console.WriteLine ( "Buch 1 book_id: {0}", Book1.book_id); / * Drucken Book2 Informationen * / Console.WriteLine ( "Buch 2 Titel: {0}", Book2.title); Console.WriteLine ( "Buch 2 Autor: {0}", Book2.author); Console.WriteLine ( "Buch 2 Thema: {0}", Book2.subject); Console.WriteLine ( "Buch 2 book_id: {0}", Book2.book_id); Console.ReadKey (); } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
Buch 1 Titel: C-Programmierung Buch 1 Autor: Nuha Ali Buch 1 Thema: C Programming Tutorial Buch 1 book_id: 6495407 Buch 2 Titel: Telecom Billing Buch 2 Autor: Zara Ali Book 2 Thema: Telecom Billing Tutorial Buch 2 book_id: 6495700
Eigenschaften C # Struktur
Sie haben eine einfache Struktur namens Bücher verwendet. Unterschiedliche Strukturen in C # und die traditionelle Struktur des C oder C ++. C # in den Struktureigenschaften:
- Struktur können Methoden, Felder, Indizes, Eigenschaften, Operatoren, Methoden und Ereignisse.
- Struktur kann Konstruktor definiert werden, aber man kann nicht eine destructor definieren. Sie können jedoch nicht über einen Standardkonstruktor für die Struktur definieren. Der Default-Konstruktor wird automatisch festgelegt und kann nicht verändert werden.
- Im Gegensatz zu einer Klasse kann, die Struktur nicht von anderen Strukturen oder Klassen erben.
- Struktur kann nicht als Grundlage Die andere Struktur oder Klasse dienen.
- Struktur kann eine oder mehrere Schnittstellen implementieren.
- Strukturelement kann nicht als abstrakt bezeichnet werden, virtuell oder geschützt.
- Wenn Sie ein Konfigurationsobjekt mitdem neuen Betreiber zu erstellen, wird es den entsprechenden Konstruktor aufrufen , eine Struktur zu schaffen.Im Gegensatz zu einer Klasse, Strukturen können die neuen Betreiber nicht verwenden, um instanziert werden.
- Wenn Sie nicht über den neuen Betreiber zu verwenden, erst nach alle Felder initialisiert werden, war das Feld nur Zuordnung, war das Objekt nur zu verwenden.
Klasse vs Struktur
Klassen und Strukturen haben die folgenden grundlegenden Unterschiede:
- Die Klassen sind Referenztypen, die Struktur ist ein Werttyp.
- Struktur nicht Vererbung unterstützen.
- Struktur kann kein Standard-Konstruktor deklarieren.
Für die obige Diskussion, lassen Sie uns das vorherige Beispiel umschreiben:
using System; struct Bücher { private string title; private string Autor; private string Thema; private int book_id; public void getValues (string t, string a, string s, int id) { title = t; Autor = a; subject = s; book_id = id; } public void display () { Console.WriteLine ( "Titel: {0}", title); Console.WriteLine ( "Autor: {0}", Autor); Console.WriteLine ( "Betreff: {0}", Thema); Console.WriteLine ( "Book_id: {0}", book_id); } }; public class testStructure { public static void Main (string [] args) { Bücher Mappe1 = new Bücher (); / * Erklärung Mappe1 Typ Buch * / Bücher Book2 = new Bücher (); / * Erklärung Mappe2 Typ Buch * / / * Buch 1 Detaillierung * / Book1.getValues ( "C-Programmierung", "Nuha Ali", "C-Programmierung Tutorial", 6495407); / * Book 2 Detaillierte Beschreibung * / Book2.getValues ( "Telecom Billing", "Zara Ali", "Telecom Billing Tutorial", 6495700); / * Drucken Mappe1 Informationen * / Book1.display (); / * Drucken Book2 Informationen * / Book2.display (); Console.ReadKey (); } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
Titel: C-Programmierung Autor: Nuha Ali Betreff: C Programming Tutorial Book_id: 6495407 Titel: Telecom Billing Autor: Zara Ali Betreff: Telecom Billing Tutorial Book_id: 6495700