Rakenteet Muiden Tietorakenteiden Kanssa
Koska rakenteet ovat pohjimmiltaan tietotyyppejä, voit käyttää niitä myös taulukoiden ja Listojen luomiseen:
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; } }
Listassa tai taulukossa Student-olion kenttään viitataan seuraavalla syntaksilla:
index.cs
1variableName[index].fieldName
Esimerkiksi:
index.cs
1234567// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.
Voit myös käydä läpi näitä taulukoita tai listoja tietojen asettamiseksi tai hakemiseksi. Esimerkiksi seuraava koodi käy läpi List
-tyyppisen Students
-oliorakenteen ja laskee keski-iän:
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}"); } }
On selvää, että tässä Student
-rakenne toimii tietotyyppinä. Voimme käyttää Student
-rakennetta myös sanakirjan arvona. Alla on esimerkki Struct
-tyypin käyttämisestä arvona sanakirjassa:
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); } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Rakenteet Muiden Tietorakenteiden Kanssa
Pyyhkäise näyttääksesi valikon
Koska rakenteet ovat pohjimmiltaan tietotyyppejä, voit käyttää niitä myös taulukoiden ja Listojen luomiseen:
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; } }
Listassa tai taulukossa Student-olion kenttään viitataan seuraavalla syntaksilla:
index.cs
1variableName[index].fieldName
Esimerkiksi:
index.cs
1234567// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.
Voit myös käydä läpi näitä taulukoita tai listoja tietojen asettamiseksi tai hakemiseksi. Esimerkiksi seuraava koodi käy läpi List
-tyyppisen Students
-oliorakenteen ja laskee keski-iän:
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}"); } }
On selvää, että tässä Student
-rakenne toimii tietotyyppinä. Voimme käyttää Student
-rakennetta myös sanakirjan arvona. Alla on esimerkki Struct
-tyypin käyttämisestä arvona sanakirjassa:
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); } }
Kiitos palautteestasi!