Latest web development tutorials

C # structure (Struct)

In C #, the structure is a value type of data structure. It enables a single variable can store data related to various types of data.struct keyword is used to create a structure.

Structure is used to represent a record. Suppose you want to track dynamic library books. You may want to keep track of each book of the following attributes:

  • Title
  • Author
  • Subject
  • Book ID

Definition structure

To define a structure, you must use a struct statement. struct statement for the program defines a new data type with more than one member of.

For example, you can declare the following manner Book structure:

struct Books
{
   public string title;
   public string author;
   public string subject;
   public int book_id;
};  

The following program 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; / * declaration Book1, type Book * /
      Books Book2; / * declaration Book2, type Book * /

      / * Book 1 detailing * /
      Book1.title = "C Programming";
      Book1.author = "Nuha Ali"; 
      Book1.subject = "C Programming Tutorial";
      Book1.book_id = 6495407;

      / * Book 2 DETAILED DESCRIPTION * /
      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

Features C # Structure

You have used a simple structure called Books of. Different structures in C # and the traditional structure of the C or C ++. C # in the structure characteristics:

  • Structure may have methods, fields, indexes, properties, operators, methods, and events.
  • Structure can be defined constructor, but you can not define a destructor. However, you can not define a default constructor for the structure. The default constructor is automatically defined and can not be changed.
  • Unlike a class, structure can not inherit from other structures or classes.
  • Structure can not serve as a basis The other structure or class.
  • Structure can implement one or more interfaces.
  • Structure member can not be designated as the abstract, virtual or protected.
  • When you create a configuration object usingthe New operator, it will call the appropriate constructor to create a structure.Unlike a class, structures can not use the New operator to be instantiated.
  • If you do not use the New operator, only after all of the fields are initialized, the field was only assignment, the object was only to use.

Class vs structure

Classes and structures have the following basic differences:

  • Classes are reference types, the structure is a value type.
  • Structure does not support inheritance.
  • Structure can not 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 (); / * declaration Book1, type Book * /
      Books Book2 = new Books (); / * declaration Book2, type Book * /

      / * Book 1 detailing * /
      Book1.getValues ​​( "C Programming",
      "Nuha Ali", "C Programming Tutorial", 6495407);

      / * Book 2 DETAILED DESCRIPTION * /
      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 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