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

bookStrukturer med Andre Datastrukturer

Siden strukturer i hovedsak er datatyper, kan du bruke dem til å opprette Arrays og Lister også:

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 får vi tilgang til et felt i et Student-objekt ved å bruke 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å iterere gjennom disse arrayene eller listene for å tildele eller hente data. For eksempel viser følgende kode hvordan man går gjennom en List av Students-objekter og beregner gjennomsnittsalderen:

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 tydelig at Student-strukturen her fungerer som en datatype. Vi kan også bruke Student som en verdi i en ordbok. Følgende er et eksempel på bruk av Struct som en verdi i en ordbok:

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

Hva er riktig syntaks for å få tilgang til score-attributtet til den første spilleren?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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

bookStrukturer med Andre Datastrukturer

Sveip for å vise menyen

Siden strukturer i hovedsak er datatyper, kan du bruke dem til å opprette Arrays og Lister også:

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 får vi tilgang til et felt i et Student-objekt ved å bruke 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å iterere gjennom disse arrayene eller listene for å tildele eller hente data. For eksempel viser følgende kode hvordan man går gjennom en List av Students-objekter og beregner gjennomsnittsalderen:

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 tydelig at Student-strukturen her fungerer som en datatype. Vi kan også bruke Student som en verdi i en ordbok. Følgende er et eksempel på bruk av Struct som en verdi i en ordbok:

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

Hva er riktig syntaks for å få tilgang til score-attributtet til den første spilleren?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4
some-alt