In C #, structures are value type data structures. It enables a single variable to store related data of various data types.
struct
keyword isused to create structures.
Structures are used to represent a record. Suppose you want to keep track ofbooks in the library. You may want to track the following properties of each book:
Title
Author
Subject
Book ID
1.32.1. Define the structure #
To define a structure, you must use the
struct
statement.
struct
statement defines a new data type with multiple members for the program.
For example, you can declare as follows
Book
structure:
struct Books
{
public string title;
public string author;
public string subject;
public int book_id;
};
The following program demonstrates the use of structures: When the above code is compiled and executed, it produces the following results:Example #
using System;
using System.Text;
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; /* statement Book1,type are Books */
Books Book2; /* statement Book2,type are Books */
/* book 1 explain */
Book1.title = "C Programming";
Book1.author = "Nuha Ali";
Book1.subject = "C Programming Tutorial";
Book1.book_id = 6495407;
/* book 2 explain */
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();
}
}
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
1.32.2. Characteristics of C # structure #
You have used a simple name called
Books
structure of. 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, operator methods, and events.
Structure can define a constructor, but not a destructor. However, you cannot define a no-parameter constructor for a structure. The no-parameter constructor (default) 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.
Structure can implement one or more interfaces.
Structure members cannot be specified as
abstract、virtualorprotected.When you use the
Newoperator creates a structure object, the appropriate constructor is called to create the structure. Unlike classes, structures can not be usedNewoperator can be instantiated.If not used
Newoperator, the field is assigned and the object is used only after all fields have been initialized.
1.32.3. Vs-like structure #
There are several basic differences between classes and structures:
The class is a reference type, and the structure is a value type.
Structure does not support inheritance.
Structure cannot declare a default constructor.
In response to the above discussion, let’s rewrite the previous example: When the above code is compiled and executed, it produces the following results:Example #
using System;
using System.Text;
struct Books
{
private string title;
private string author;
private string subject;
private int book_id;
public void setValues(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(); /* statement Book1,type are Books */
Books Book2 = new Books(); /* statement Book2,type are Books */
/* book 1 explain */
Book1.setValues("C Programming",
"Nuha Ali", "C Programming Tutorial",6495407);
/* book 2 explain */
Book2.setValues("Telecom Billing",
"Zara Ali", "Telecom Billing Tutorial", 6495700);
/* print Book1 information */
Book1.display();
/* print Book2 information */
Book2.display();
Console.ReadKey();
}
}
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