Strukturer med Andra Datastrukturer
Eftersom strukturer i grunden är datatyper kan du använda dem för att skapa Arrayer och Listor också:
index.cs
1234567891011121314151617181920using 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 Lista eller en Array skulle vi komma åt ett fält i ett Student-objekt med följande syntax:
index.cs
1variableName[index].fieldName
Till exempel:
index.cs
1234567// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.
Du kan också iterera genom dessa arrayer eller listor för att tilldela eller hämta data. Till exempel loopar följande kod genom en List av Students-objekt och beräknar medelåldern:
index.cs
12345678910111213141516171819202122232425262728293031323334353637using 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 är tydligt att här fungerar Student-strukturen som en datatyp. Vi kan även använda Student som ett dictionary-värde. Nedan följer ett exempel på att använda en Struct som värde i en dictionary:
index.cs
123456789101112131415161718192021222324using 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); } }
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 2.04
Strukturer med Andra Datastrukturer
Svep för att visa menyn
Eftersom strukturer i grunden är datatyper kan du använda dem för att skapa Arrayer och Listor också:
index.cs
1234567891011121314151617181920using 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 Lista eller en Array skulle vi komma åt ett fält i ett Student-objekt med följande syntax:
index.cs
1variableName[index].fieldName
Till exempel:
index.cs
1234567// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.
Du kan också iterera genom dessa arrayer eller listor för att tilldela eller hämta data. Till exempel loopar följande kod genom en List av Students-objekt och beräknar medelåldern:
index.cs
12345678910111213141516171819202122232425262728293031323334353637using 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 är tydligt att här fungerar Student-strukturen som en datatyp. Vi kan även använda Student som ett dictionary-värde. Nedan följer ett exempel på att använda en Struct som värde i en dictionary:
index.cs
123456789101112131415161718192021222324using 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); } }
Tack för dina kommentarer!