Структури з Іншими Структурами Даних
Свайпніть щоб показати меню
Оскільки структури по суті є типами даних, їх можна використовувати для створення масивів та списків:
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; } }
У списку або масиві доступ до поля об'єкта Student здійснюється за такою схемою:
index.cs
1variableName[index].fieldName
Наприклад:
index.cs
1234567// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.
Можна також перебирати ці масиви або списки для призначення чи доступу до даних. Наприклад, наступний код перебирає List об'єктів Students і обчислює середній вік:
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}"); } }
Очевидно, що тут Student struct виступає як тип даних. Також можна використовувати Student як значення у словнику. Нижче наведено приклад використання Struct як значення у словнику:
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); } }
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 1. Розділ 14
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 2.08Секція 1. Розділ 14