Contenu du cours
C# au-delà des Bases
C# au-delà des Bases
Structures With Other Data Structures
Étant donné que les structs sont essentiellement des types de données, nous pouvons les utiliser pour créer des Tableaux et des Listes également :
index
using System; using System.Collections.Generic; struct Student { public string name; public int age; } class Program { static void Main() { // An array of 50 students Student[] studentsArr = new Student[50]; // A list of students List<Student> studentsList; } }
Dans une Liste ou un Tableau, nous accéderions à un champ de l'objet Student en utilisant la syntaxe suivante :
index
variableName[index].fieldName
Par exemple :
index
// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.
Nous pouvons également parcourir ces tableaux ou listes pour attribuer ou accéder aux données. Par exemple, le code suivant parcourt une liste d'objets Students
et calcule l'âge moyen :
index
using System; using System.Collections.Generic; struct Student { public string name; public int age; } class Program { static void Main() { // Creating an array Student[] students = new Student[7]; // Setting some data students[0].age = 18; students[1].age = 13; students[2].age = 16; students[3].age = 21; students[4].age = 30; students[5].age = 36; students[6].age = 20; int totalAge = 0; for (int i = 0; i < students.Length; i++) { totalAge += students[i].age; } // Formula for average is "sum of elements / number of elements" float averageAge = totalAge / students.Length; Console.WriteLine($"Average Age: {averageAge}"); } }
Il est clair qu'ici la structure Student
agit comme un type de données. Nous pouvons également utiliser Student
comme valeur de dictionnaire. Voici un exemple d'utilisation de Struct comme valeur dans un dictionnaire :
index
using System; using System.Collections.Generic; struct Student { public string name; public int age; } class Program { static void Main() { var studentsByID = new Dictionary<int, Student>(); Student student; student.name = "Thomas"; student.age = 36; studentsByID.Add(0, student); Console.WriteLine(studentsByID[0].name); } }
Merci pour vos commentaires !