Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Structures Avec D'autres Structures De Données | Structures et Énumérateurs
C# Au-Delà des Bases

bookStructures Avec D'autres Structures De Données

Puisque les structs sont essentiellement des types de données, vous pouvez également les utiliser pour créer des tableaux et des listes :

index.cs

index.cs

copy
1234567891011121314151617181920
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, l'accès à un champ d'un objet Student se fait avec la syntaxe suivante :

index.cs

index.cs

copy
1
variableName[index].fieldName

Par exemple :

index.cs

index.cs

copy
1234567
// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.

Il est également possible de parcourir ces tableaux ou listes pour attribuer ou accéder aux données. Par exemple, le code suivant parcourt une List d’objets Students et calcule l’âge moyen :

index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031323334353637
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 évident qu’ici la structure Student agit comme un type de données. Il est également possible d’utiliser Student comme valeur dans un dictionnaire. Voici un exemple d’utilisation d’une Struct comme valeur dans un dictionnaire :

index.cs

index.cs

copy
123456789101112131415161718192021222324
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); } }
question mark

Quelle est la syntaxe correcte pour accéder à l'attribut score du premier joueur ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you show me an example of how to use a struct as a value in a dictionary?

How do I access or modify a struct stored in a dictionary?

What are some best practices for using structs in collections like arrays, lists, or dictionaries?

Awesome!

Completion rate improved to 2.04

bookStructures Avec D'autres Structures De Données

Glissez pour afficher le menu

Puisque les structs sont essentiellement des types de données, vous pouvez également les utiliser pour créer des tableaux et des listes :

index.cs

index.cs

copy
1234567891011121314151617181920
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, l'accès à un champ d'un objet Student se fait avec la syntaxe suivante :

index.cs

index.cs

copy
1
variableName[index].fieldName

Par exemple :

index.cs

index.cs

copy
1234567
// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.

Il est également possible de parcourir ces tableaux ou listes pour attribuer ou accéder aux données. Par exemple, le code suivant parcourt une List d’objets Students et calcule l’âge moyen :

index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031323334353637
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 évident qu’ici la structure Student agit comme un type de données. Il est également possible d’utiliser Student comme valeur dans un dictionnaire. Voici un exemple d’utilisation d’une Struct comme valeur dans un dictionnaire :

index.cs

index.cs

copy
123456789101112131415161718192021222324
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); } }
question mark

Quelle est la syntaxe correcte pour accéder à l'attribut score du premier joueur ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
some-alt