 Structs com Outras Estruturas de Dados
Structs com Outras Estruturas de Dados
Como structs são essencialmente tipos de dados, você pode usá-los para criar Arrays e Listas também:
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; } }
Em uma Lista ou Array, acessaríamos o campo de um objeto Student usando a seguinte sintaxe:
index.cs
1variableName[index].fieldName
Por exemplo:
index.cs
1234567// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.
Também é possível percorrer esses arrays ou listas para atribuir ou acessar dados. Por exemplo, o código a seguir percorre uma List de objetos Students e calcula a idade média:
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}"); } }
Fica claro que aqui o struct Student atua como um tipo de dado. Também é possível utilizar Student como valor em um dicionário. A seguir, um exemplo de uso de Struct como valor em um dicionário:
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); } }
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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 Structs com Outras Estruturas de Dados
Structs com Outras Estruturas de Dados
Deslize para mostrar o menu
Como structs são essencialmente tipos de dados, você pode usá-los para criar Arrays e Listas também:
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; } }
Em uma Lista ou Array, acessaríamos o campo de um objeto Student usando a seguinte sintaxe:
index.cs
1variableName[index].fieldName
Por exemplo:
index.cs
1234567// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.
Também é possível percorrer esses arrays ou listas para atribuir ou acessar dados. Por exemplo, o código a seguir percorre uma List de objetos Students e calcula a idade média:
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}"); } }
Fica claro que aqui o struct Student atua como um tipo de dado. Também é possível utilizar Student como valor em um dicionário. A seguir, um exemplo de uso de Struct como valor em um dicionário:
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); } }
Obrigado pelo seu feedback!