Latest web development tutorials

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