Tutoriel C#SE CONNECTER
Tutoriel C#
auteur:php.cn  temps de mise à jour:2022-04-11 14:06:23

Structure C# (Struct)



En C#, une structure est une structure de données de type valeur. Il permet à une seule variable de stocker des données associées de différents types de données. Le mot-clé struct est utilisé pour créer des structures. La structure

est utilisée pour représenter un enregistrement. Supposons que vous souhaitiez suivre le mouvement des livres dans votre bibliothèque. Vous souhaiterez peut-être suivre les propriétés suivantes pour chaque livre :

  • Titre

  • Auteur

  • Sujet

  • ID du livre

Définition de la structure

Afin de définir une structure, vous devez utiliser la struct déclaration. L'instruction struct définit un nouveau type de données avec plusieurs membres pour le programme.

Par exemple, vous pouvez déclarer la structure Book comme suit :

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

Le programme suivant démontre l'utilisation de la 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;        /* 声明 Book1,类型为 Book */
      Books Book2;        /* 声明 Book2,类型为 Book */

      /* book 1 详述 */
      Book1.title = "C Programming";
      Book1.author = "Nuha Ali"; 
      Book1.subject = "C Programming Tutorial";
      Book1.book_id = 6495407;

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

      /* 打印 Book1 信息 */
      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);

      /* 打印 Book2 信息 */
      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();

   }
}

Lorsque le code ci-dessus est compilé et exécuté , qui produit les résultats suivants :

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

Caractéristiques des structures C#

Vous avez utilisé une structure simple appelée Books. Les structures en C# sont différentes des structures en C ou C++ traditionnel. Les structures en C# ont les caractéristiques suivantes :

  • Les structures peuvent avoir des méthodes, des champs, des index, des propriétés, des méthodes d'opérateur et des événements. La structure

  • peut définir des constructeurs, mais pas des destructeurs. Cependant, vous ne pouvez pas définir un constructeur par défaut pour une structure. Le constructeur par défaut est automatiquement défini et ne peut pas être modifié.

  • Contrairement aux classes, les structures ne peuvent pas hériter d'autres structures ou classes. La structure

  • ne peut pas être utilisée comme structure de base pour d'autres structures ou classes. La structure

  • peut implémenter une ou plusieurs interfaces.

  • Les membres de la structure ne peuvent pas être spécifiés comme abstraits, virtuels ou protégés.

  • Lorsque vous créez un objet struct à l'aide de l'opérateur New, le constructeur approprié est appelé pour créer la structure. Contrairement aux classes, les structures peuvent être instanciées sans utiliser l'opérateur New.

  • Si l'opérateur Nouveau n'est pas utilisé, les champs se voient attribuer des valeurs et les objets ne sont utilisés qu'une fois tous les champs initialisés.

Classe vs structure

Les classes et les structures présentent les différences fondamentales suivantes :

  • Les classes sont des types de référence, les structures sont des valeurs genres. La structure

  • ne prend pas en charge l'héritage. La structure

  • ne peut pas déclarer de constructeur par défaut.

En réponse à la discussion ci-dessus, réécrivons l'exemple précédent :

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(); /* 声明 Book1,类型为 Book */
      Books Book2 = new Books(); /* 声明 Book2,类型为 Book */

      /* book 1 详述 */
      Book1.getValues("C Programming",
      "Nuha Ali", "C Programming Tutorial",6495407);

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

      /* 打印 Book1 信息 */
      Book1.display();

      /* 打印 Book2 信息 */
      Book2.display(); 

      Console.ReadKey();

   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :

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

Site Web PHP chinois