Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C# Strukturen (struct): Werttypen definieren & verwenden

Was ist eine Struktur?

Eine Struktur (struct) ist ein Werttyp, der verwandte Daten verschiedener Typen in einer Variablen zusammenfasst. Im Gegensatz zu Klassen werden Strukturen auf dem Stack (oder inline in enthaltenden Typen) gespeichert und beim Zuweisen kopiert.

Struktur definieren

struct Books
{
    public string Title;
    public string Author;
    public string Subject;
    public int BookId;
}

Verwendung

Books book1, book2; // Deklaration (Werttyp, kein new nötig)

book1.Title = "C Programming";
book1.Author = "Nuha Ali";
book1.Subject = "C Programming Tutorial";
book1.BookId = 6495407;

book2.Title = "Telecom Billing";
book2.Author = "Zara Ali";
// ...

Console.WriteLine($"Book 1: {book1.Title} by {book1.Author}");

Besonderheiten von C#-Strukturen

Struktur vs. Klasse

Merkmalclass (Referenztyp)struct (Werttyp)
SpeicherHeap (Referenz)Stack / Inline (Wert)
VererbungUnterstütztNicht unterstützt
Default-KonstruktorKann definiert werdenImmer implizit, nicht überschreibbar
NullfähigkeitKann null seinNur über Nullable<T> (T?)
KopierverhaltenReferenzkopieWertkopie (Deep Copy der Felder)

Struktur mit Methoden & Konstruktor

struct Books
{
    private string title, author, subject;
    private int bookId;

    public Books(string t, string a, string s, int id) // benutzerdefinierter Konstruktor
    {
        title = t; author = a; subject = s; bookId = id;
    }

    public void Display()
    {
        Console.WriteLine($"Title: {title}, Author: {author}, Subject: {subject}, ID: {bookId}");
    }
}

// Nutzung
var book1 = new Books("C Programming", "Nuha Ali", "C Tutorial", 6495407);
book1.Display();

Wann Struct, wann Class?

C Sprache

  1. C++ Structures vs. Classes: Praktischer Leitfaden für Embedded-Entwickler
  2. Semaphores in Nucleus RTOS: Utility Services & Data Structures
  3. Buchrezension: Digitise or Die – Ein Blueprint für IoT-getriebene Transformation
  4. Menschlichkeit im Zeitalter disruptiver Technologie bewahren
  5. Datenspeicher-Revolution: Nächstgen-Magnetnanostrukturen mit Unsichtbarkeitsumhang
  6. Top 17 Programmierbücher 2021, um Ihre Coding-Skills zu verbessern
  7. Java Datenstrukturen: Kernklassen & Collections Framework erkunden
  8. C-Strukturen meistern: Komplexe Daten effizient organisieren
  9. C typedef erklärt: Code vereinfachen mit benutzerdefinierten Typnamen
  10. C++ Datenstrukturen: Arrays, Structs & mehr für effiziente Programme