c# structure type

Keywords: C# Back-end

In C#, a structure is a value type data structure. It enables a single variable to store relevant data of various data types. The struct keyword is used to create a structure.
Structure is used to represent a record. Suppose you want to track the movement of books in the library. You may want to track the following properties of each book:
• Title
• Author
• Subject
• Book ID
Define structure
To define a structure, you must use a struct statement. The struct statement defines a new data type with multiple members for the program.
For example, you can declare the Book structure as follows:
struct Books
{
public string title;
public string author;
public string subject;
public int book_id;
};
The following procedure demonstrates the use of the structure:
using 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 Elaborate */
  Book1.title = "C Programming";
  Book1.author = "Nuha Ali"; 
  Book1.subject = "C Programming Tutorial";
  Book1.book_id = 6495407;

  /* book 2 Elaborate */
  Book2.title = "Telecom Billing";
  Book2.author = "Zara Ali";
  Book2.subject =  "Telecom Billing Tutorial";
  Book2.book_id = 6495700;

  /* Print Book1 information */
  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 information */
  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();

}
}
When the above code is compiled and executed, it will produce the following results:
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
Characteristics of C# structure
You have used a simple structure called Books. The structure in C # is different from that in traditional C or C + +. The structure in C # has the following characteristics:
• structures can have methods, fields, indexes, properties, operators, methods, and events.
• structures can define constructors, but not destructors. However, you cannot define a default constructor for a structure. The default constructor is automatically defined and cannot be changed.
• unlike classes, structures cannot inherit other structures or classes.
• structures cannot be used as the infrastructure of other structures or classes.
• the structure can implement one or more interfaces.
• structure members cannot be specified as abstract, virtual, or protected.
• when you create a structure object using the New operator, the appropriate constructor is called to create the structure. Unlike classes, structures can be instantiated without using the New operator.
• if the New operator is not used, the field is assigned and the object is used only after all fields are initialized.
Class vs structure
Classes and structures have the following basic differences:
• classes are reference types and structures are value types.
• structure does not support inheritance.
• a structure cannot declare a default constructor.
For the above discussion, let's rewrite the previous example:
using 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 Elaborate */
  Book1.getValues("C Programming",
  "Nuha Ali", "C Programming Tutorial",6495407);

  /* book 2 Elaborate */
  Book2.getValues("Telecom Billing",
  "Zara Ali", "Telecom Billing Tutorial", 6495700);

  /* Print Book1 information */
  Book1.display();

  /* Print Book2 information */
  Book2.display(); 

  Console.ReadKey();

}
}
When the above code is compiled and executed, it will produce the following results:
Title : C Programming
Author : Nuha Ali
Subject : C Programming Tutorial

Posted by jmrothermel on Wed, 27 Oct 2021 23:23:25 -0700