C # structure
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
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:
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();
}
}
When the above code is compiled and executed, it produces 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 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
、virtual
orprotected
.When you use the
New
operator creates a structure object, the appropriate constructor is called to create the structure. Unlike classes, structures can not be usedNew
operator can be instantiated.If not used
New
operator, the field is assigned and the object is used only after all fields have been initialized.
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:
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();
}
}
When the above code is compiled and executed, it produces the following results:
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