Maison > Article > développement back-end > [Tutoriel C#] Structure C# (Struct)
Structure C# (Struct)
En C#, la 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 garder une trace des propriétés suivantes pour chaque livre :
Titre
Auteur
Sujet
ID du livre
Définir Structure
Afin de définir une structure, vous devez utiliser l'instruction struct. 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 is Une fois compilé et exécuté, il 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 Livres. Les structures en C# sont différentes des structures traditionnelles en C ou C++. 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 structure à 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 sont attribués et l'objet n'est utilisé 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 référence et les structures sont des types valeur.
Les structures ne prennent pas en charge l'héritage. Les structures
ne peuvent 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 produira 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
Ce qui précède est le contenu de [Tutoriel C#] Structure C# (Struct). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !