Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Structs met Andere Datastructuren | Structs & Enumerators
C# Verder dan de Basis

bookStructs met Andere Datastructuren

Aangezien structs in wezen gegevenstypen zijn, kunnen ze ook worden gebruikt voor het maken van Arrays en Lijsten:

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; } }

In een List of Array wordt het veld van een Student-object als volgt benaderd:

index.cs

index.cs

copy
1
variableName[index].fieldName

Bijvoorbeeld:

index.cs

index.cs

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

Het is ook mogelijk om door deze arrays of lijsten te itereren om gegevens toe te wijzen of te benaderen. In het volgende voorbeeld wordt door een List van Students-objecten gelopen en de gemiddelde leeftijd berekend:

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}"); } }

Hieruit blijkt duidelijk dat de Student-struct als gegevenstype fungeert. We kunnen Student ook als waarde in een dictionary gebruiken. Hieronder volgt een voorbeeld van het gebruik van een Struct als waarde in een dictionary:

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

Wat is de juiste syntaxis om het attribuut score van de eerste speler te benaderen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 2.04

bookStructs met Andere Datastructuren

Veeg om het menu te tonen

Aangezien structs in wezen gegevenstypen zijn, kunnen ze ook worden gebruikt voor het maken van Arrays en Lijsten:

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; } }

In een List of Array wordt het veld van een Student-object als volgt benaderd:

index.cs

index.cs

copy
1
variableName[index].fieldName

Bijvoorbeeld:

index.cs

index.cs

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

Het is ook mogelijk om door deze arrays of lijsten te itereren om gegevens toe te wijzen of te benaderen. In het volgende voorbeeld wordt door een List van Students-objecten gelopen en de gemiddelde leeftijd berekend:

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}"); } }

Hieruit blijkt duidelijk dat de Student-struct als gegevenstype fungeert. We kunnen Student ook als waarde in een dictionary gebruiken. Hieronder volgt een voorbeeld van het gebruik van een Struct als waarde in een dictionary:

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

Wat is de juiste syntaxis om het attribuut score van de eerste speler te benaderen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
some-alt