Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Structs med Andre Datastrukturer | Strukturer og Enumeratorer
C# Ud Over Det Grundlæggende

bookStructs med Andre Datastrukturer

Da structs grundlæggende er datatyper, kan du også bruge dem til at oprette Arrays og Lister:

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

I en List eller et Array tilgås et felt i et Student-objekt med følgende syntaks:

index.cs

index.cs

copy
1
variableName[index].fieldName

For eksempel:

index.cs

index.cs

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

Du kan også gennemløbe disse arrays eller lister for at tildele eller tilgå data. For eksempel gennemløber følgende kode en List af Students-objekter og beregner gennemsnitsalderen:

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

Det er tydeligt, at Student-structen her fungerer som en datatyp. Vi kan også bruge Student som en dictionary-værdi. Følgende er et eksempel på at bruge en Struct som værdi i en 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

Hvad er den korrekte syntaks for at tilgå attributten score for den første spiller?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 2.04

bookStructs med Andre Datastrukturer

Stryg for at vise menuen

Da structs grundlæggende er datatyper, kan du også bruge dem til at oprette Arrays og Lister:

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

I en List eller et Array tilgås et felt i et Student-objekt med følgende syntaks:

index.cs

index.cs

copy
1
variableName[index].fieldName

For eksempel:

index.cs

index.cs

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

Du kan også gennemløbe disse arrays eller lister for at tildele eller tilgå data. For eksempel gennemløber følgende kode en List af Students-objekter og beregner gennemsnitsalderen:

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

Det er tydeligt, at Student-structen her fungerer som en datatyp. Vi kan også bruge Student som en dictionary-værdi. Følgende er et eksempel på at bruge en Struct som værdi i en 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

Hvad er den korrekte syntaks for at tilgå attributten score for den første spiller?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4
some-alt