Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Структури з Іншими Структурами Даних | Структури Та Перелічення
C# Понад Базовий Рівень

bookСтруктури з Іншими Структурами Даних

Оскільки структури по суті є типами даних, їх можна використовувати для створення масивів та списків:

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; } }

У списку або масиві доступ до поля об'єкта Student здійснюється за такою схемою:

index.cs

index.cs

copy
1
variableName[index].fieldName

Наприклад:

index.cs

index.cs

copy
1234567
// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.

Можна також перебирати ці масиви або списки для призначення чи доступу до даних. Наприклад, наступний код перебирає List об'єктів Students і обчислює середній вік:

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}"); } }

Очевидно, що тут Student struct виступає як тип даних. Також можна використовувати Student як значення у словнику. Нижче наведено приклад використання Struct як значення у словнику:

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

Який правильний синтаксис для доступу до атрибута score першого гравця?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

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

bookСтруктури з Іншими Структурами Даних

Свайпніть щоб показати меню

Оскільки структури по суті є типами даних, їх можна використовувати для створення масивів та списків:

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; } }

У списку або масиві доступ до поля об'єкта Student здійснюється за такою схемою:

index.cs

index.cs

copy
1
variableName[index].fieldName

Наприклад:

index.cs

index.cs

copy
1234567
// Array studentsArr[17].name = "Alex"; // List studentsList[27].age = 21; // Note: Both have the same syntax.

Можна також перебирати ці масиви або списки для призначення чи доступу до даних. Наприклад, наступний код перебирає List об'єктів Students і обчислює середній вік:

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}"); } }

Очевидно, що тут Student struct виступає як тип даних. Також можна використовувати Student як значення у словнику. Нижче наведено приклад використання Struct як значення у словнику:

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

Який правильний синтаксис для доступу до атрибута score першого гравця?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4
some-alt