C # struktury (struct)
W języku C #, struktura jest rodzajem wartość struktury danych. Pozwala to pojedyncza zmienna może przechowywać dane dotyczące różnych rodzajów danych. słowo kluczowestruct służy do tworzenia struktury.
Konstrukcja służy do reprezentowania rekord. Załóżmy, że chcesz śledzić dynamiczne książek bibliotecznych. Możesz śledzić każdej książki z następujących cech:
- tytuł
- autor
- przedmiot
- Book ID
struktura definicja
Aby zdefiniować strukturę, należy użyć instrukcji struct. Oświadczenie struktura programu określa się nowy typ danych z więcej niż jednego elementu.
Na przykład, można zadeklarować następującą strukturę sposób Book:
struct Książki { Tytuł public string; publiczna autor ciąg; Temat public string; public int book_id; };
Następujący program pokazuje zastosowanie struktury:
using System; struct Książki { Tytuł public string; publiczna autor ciąg; Temat public string; public int book_id; }; public class testStructure { public static void Main (string [] args) { Książki Skoroszyt1; / * deklaracja Skoroszyt1 typu Book * / Książki Book2; / * deklaracja Book2 typu Book * / / * Book 1 wyszczególnieniem * / Book1.title = "C Programming"; Book1.author = "Nuha Ali"; Book1.subject = "C Programming Tutorial"; Book1.book_id = 6495407; / * Book 2 SZCZEGÓŁOWY OPIS * / Book2.title = "Billing Telecom"; Book2.author = "Zara Ali"; Book2.subject = "Telecom Tutorial Billing"; Book2.book_id = 6495700; / * Drukuj informacje Skoroszyt1 * / Console.WriteLine ( "Book 1 Tytuł: {0}", Book1.title); Console.WriteLine ( "Book 1 Autor: {0}", Book1.author); Console.WriteLine ( "Book 1 Temat: {0}", Book1.subject); Console.WriteLine ( "Book 1 book_id: {0}", Book1.book_id); / * Drukuj informacje Book2 * / Console.WriteLine ( "Book 2 Tytuł: {0}", Book2.title); Console.WriteLine ( "Book 2 autor: {0}", Book2.author); Console.WriteLine ( "Book 2 Temat: {0}", Book2.subject); Console.WriteLine ( "Book 2 book_id: {0}", Book2.book_id); Console.ReadKey (); } }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
Książka 1 Tytuł: C Programming Book 1 autor: Nuha Ali Book 1 Temat: C Programming Tutorial Book 1 book_id: 6495407 Book 2 tytuł: Telecom rozliczeniowy Book 2 autor: Zara Ali Book 2 Temat: Telecom Tutorial Billing Book 2 book_id: 6495700
Funkcje C # Structure
Użyłeś prostą strukturę zwaną Książki. Różne struktury w języku C # i tradycyjnej struktury C lub C ++. C # w cech strukturalnych:
- Struktura może mieć metod, pól, indeksów, właściwości, operatorów, metod i zdarzeń.
- Struktura może być zdefiniowany konstruktor, ale nie można określić destruktora. Jednak nie można zdefiniować domyślny konstruktor konstrukcji. Konstruktor domyślny jest automatycznie określona i nie może być zmieniony.
- W przeciwieństwie do klasy, struktury nie mogą dziedziczyć z innych struktur lub klas.
- Struktura nie może służyć za podstawę innej struktury lub klasy.
- Struktura może implementować jeden lub więcej interfejsów.
- członkiem struktura nie może być wyznaczony jako abstrakcyjny, wirtualnej lub chronionym.
- Po utworzeniu obiektu konfiguracjiza pomocą operatora new,to zadzwonić do odpowiedniego konstruktora utworzyć strukturę. W przeciwieństwie do klasy, struktury nie mogą korzystać z nowego operatora do instancji.
- Jeśli nie używać nowego operatora, dopiero po wszystkich pól są inicjowane, pole było tylko przypisanie, obiekt był tylko do użycia.
Klasa vs struktury
Klasy i struktury mają następujące podstawowe różnice:
- Klasy są typy referencyjne, struktura jest typ wartości.
- Struktura nie obsługuje dziedziczenia.
- Struktura nie można zadeklarować konstruktora domyślnego.
Na powyższej dyskusji, niech przepisać poprzedni przykład:
using System; struct Książki { Prywatny tytuł ciąg; prywatne autor ciąg; prywatnego podlega ciąg; private int book_id; public void getValues (ciąg t, string, string s, int id) { title = t; Author = a; subject = s; book_id = id; } public void display () { Console.WriteLine ( "Tytuł: {0}", tytuł); Console.WriteLine ( "Autor: {0}", autor); Console.WriteLine ( "Subject: {0}", z zastrzeżeniem); Console.WriteLine ( "Book_id: {0}", book_id); } }; public class testStructure { public static void Main (string [] args) { Książki Skoroszyt1 = new Books (); / * deklaracja Skoroszyt1 typu Book * / Książki Book2 = new Books (); / * deklaracja Book2 typu Book * / / * Book 1 wyszczególnieniem * / Book1.getValues ( "C Programming" "Nuha Ali", "C Programming Tutorial" 6495407); / * Book 2 SZCZEGÓŁOWY OPIS * / Book2.getValues ( "Billing Telecom" "Zara Ali", "Telecom Kurs rozliczeniowy", 6495700); / * Drukuj informacje Skoroszyt1 * / Book1.display (); / * Drukuj informacje Book2 * / Book2.display (); Console.ReadKey (); } }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
Tytuł: C Programming Autor: Nuha Ali Temat: C Programming Tutorial Book_id: 6495407 Tytuł: Telecom rozliczeniowy Autor: Zara Ali Temat: Telecom Tutorial Billing Book_id: 6495700