C# - Strukturen
In C# ist eine Struktur ein Werttyp-Datentyp. Es hilft Ihnen, eine einzelne Variable zu erstellen, die verwandte Daten verschiedener Datentypen enthält. Die Struktur Schlüsselwort wird zum Erstellen einer Struktur verwendet.
Strukturen werden verwendet, um einen Datensatz darzustellen. Angenommen, Sie möchten Ihre Bücher in einer Bibliothek verfolgen. Vielleicht möchten Sie die folgenden Attribute zu jedem Buch nachverfolgen −
- Titel
- Autor
- Betreff
- Buch-ID
Eine Struktur definieren
Um eine Struktur zu definieren, müssen Sie die struct-Anweisung verwenden. Die Struct-Anweisung definiert einen neuen Datentyp mit mehr als einem Member für Ihr Programm.
So können Sie zum Beispiel die Book-Struktur deklarieren −
struct Books { public string title; public string author; public string subject; public int book_id; };
Das folgende Programm zeigt die Verwendung der Struktur −
Live-Demousing System; struct Books { public string title; public string author; public string subject; public int book_id; }; public class testStructure { public static void Main(string[] args) { Books Book1; /* Declare Book1 of type Book */ Books Book2; /* Declare Book2 of type Book */ /* book 1 specification */ Book1.title = "C Programming"; Book1.author = "Nuha Ali"; Book1.subject = "C Programming Tutorial"; Book1.book_id = 6495407; /* book 2 specification */ Book2.title = "Telecom Billing"; Book2.author = "Zara Ali"; Book2.subject = "Telecom Billing Tutorial"; Book2.book_id = 6495700; /* print Book1 info */ Console.WriteLine( "Book 1 title : {0}", Book1.title); Console.WriteLine("Book 1 author : {0}", Book1.author); Console.WriteLine("Book 1 subject : {0}", Book1.subject); Console.WriteLine("Book 1 book_id :{0}", Book1.book_id); /* print Book2 info */ Console.WriteLine("Book 2 title : {0}", Book2.title); Console.WriteLine("Book 2 author : {0}", Book2.author); Console.WriteLine("Book 2 subject : {0}", Book2.subject); Console.WriteLine("Book 2 book_id : {0}", Book2.book_id); Console.ReadKey(); } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
Book 1 title : C Programming Book 1 author : Nuha Ali Book 1 subject : C Programming Tutorial Book 1 book_id : 6495407 Book 2 title : Telecom Billing Book 2 author : Zara Ali Book 2 subject : Telecom Billing Tutorial Book 2 book_id : 6495700
Merkmale von C#-Strukturen
Sie haben bereits eine einfache Struktur namens Bücher verwendet. Strukturen in C# sind ganz anders als in traditionellem C oder C++. Die C#-Strukturen haben die folgenden Merkmale −
-
Strukturen können Methoden, Felder, Indexer, Eigenschaften, Operatormethoden und Ereignisse haben.
-
Strukturen können definierte Konstruktoren haben, aber keine Destruktoren. Sie können jedoch keinen Standardkonstruktor für eine Struktur definieren. Der Standardkonstruktor wird automatisch definiert und kann nicht geändert werden.
-
Im Gegensatz zu Klassen können Strukturen keine anderen Strukturen oder Klassen erben.
-
Strukturen können nicht als Basis für andere Strukturen oder Klassen verwendet werden.
-
Eine Struktur kann eine oder mehrere Schnittstellen implementieren.
-
Strukturmitglieder können nicht als abstrakt, virtuell oder geschützt angegeben werden.
-
Wenn Sie ein Strukturobjekt mit der New -Operator, wird er erstellt und der entsprechende Konstruktor aufgerufen. Im Gegensatz zu Klassen können Strukturen ohne Verwendung des New-Operators instanziiert werden.
-
Wenn der New-Operator nicht verwendet wird, bleiben die Felder unzugewiesen und das Objekt kann nicht verwendet werden, bis alle Felder initialisiert sind.
Klasse versus Struktur
Klassen und Strukturen haben die folgenden grundlegenden Unterschiede −
- Klassen sind Referenztypen und Strukturen sind Werttypen
- Strukturen unterstützen keine Vererbung
- Strukturen können keinen Standardkonstruktor haben
Lassen Sie uns im Lichte der obigen Diskussionen das vorherige Beispiel umschreiben −
Live-Demousing System; struct Books { private string title; private string author; private string subject; private int book_id; public void getValues(string t, string a, string s, int id) { title = t; author = a; subject = s; book_id = id; } public void display() { Console.WriteLine("Title : {0}", title); Console.WriteLine("Author : {0}", author); Console.WriteLine("Subject : {0}", subject); Console.WriteLine("Book_id :{0}", book_id); } }; public class testStructure { public static void Main(string[] args) { Books Book1 = new Books(); /* Declare Book1 of type Book */ Books Book2 = new Books(); /* Declare Book2 of type Book */ /* book 1 specification */ Book1.getValues("C Programming", "Nuha Ali", "C Programming Tutorial",6495407); /* book 2 specification */ Book2.getValues("Telecom Billing", "Zara Ali", "Telecom Billing Tutorial", 6495700); /* print Book1 info */ Book1.display(); /* print Book2 info */ Book2.display(); Console.ReadKey(); } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
Title : C Programming Author : Nuha Ali Subject : C Programming Tutorial Book_id : 6495407 Title : Telecom Billing Author : Zara Ali Subject : Telecom Billing Tutorial Book_id : 6495700
C Sprache
- Strukturen und Klassen in C++
- Semaphoren:Versorgungsdienste und Datenstrukturen
- Buchbesprechung:Digitalisieren oder sterben
- Eine sehr menschliche Zukunft
- Magnetische Datenspeichertechnologie der nächsten Generation
- 17 beste Programmierbücher für 2021
- Java - Datenstrukturen
- C - Strukturen
- C - Typdef
- C++-Datenstrukturen