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
123456789
struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }

Наприклад:

index.cs

index.cs

copy
12345678910
struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }

У структурі Player є метод під назвою displayScore, який виводить відформатоване повідомлення з іменем (name) та рахунком (score). Важливо зазначити, що значення name та score будуть різними для кожного об'єкта (екземпляра), тобто метод displayScore показуватиме різний результат для кожного об'єкта.

Доступ до методу та його виклик здійснюється за допомогою синтаксису variableName.methodName(). Розглянемо, як використовувати структуру Player:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930
using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); Player player2 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player2.name = "Cyrex"; player2.score = 77; player1.displayScore(); player2.displayScore(); } }

У цьому прикладі було створено два об'єкти за допомогою класу Player та призначено їм деякі дані. Метод displayScore було викликано для кожного об'єкта, і результат виводу виявився різним для кожного з них.

Методи також можуть мати параметри. Додамо новий метод під назвою addScore, який збільшує рахунок на вказану кількість, і спробуємо його використати:

index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031
using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } public void addScore(int add) { score += add; } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player1.displayScore(); player1.addScore(70); player1.displayScore(); } }

З результату видно, що метод оновлює рахунок на 70 балів.

1. Яке ключове слово є допустимим для оголошення методу?

2. Яким буде результат виконання наступного коду?

question mark

Яке ключове слово є допустимим для оголошення методу?

Select the correct answer

question mark

Яким буде результат виконання наступного коду?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you show me the code for the Player structure and its methods?

How does the addScore method work in detail?

Can you explain how methods with parameters are defined in a struct?

Awesome!

Completion rate improved to 2.04

bookМетоди Структур

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

Структура також може містити методи окрім полів даних. У структурі метод створюється так само, як і звичайний метод:

index.cs

index.cs

copy
123456789
struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }

Наприклад:

index.cs

index.cs

copy
12345678910
struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }

У структурі Player є метод під назвою displayScore, який виводить відформатоване повідомлення з іменем (name) та рахунком (score). Важливо зазначити, що значення name та score будуть різними для кожного об'єкта (екземпляра), тобто метод displayScore показуватиме різний результат для кожного об'єкта.

Доступ до методу та його виклик здійснюється за допомогою синтаксису variableName.methodName(). Розглянемо, як використовувати структуру Player:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930
using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); Player player2 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player2.name = "Cyrex"; player2.score = 77; player1.displayScore(); player2.displayScore(); } }

У цьому прикладі було створено два об'єкти за допомогою класу Player та призначено їм деякі дані. Метод displayScore було викликано для кожного об'єкта, і результат виводу виявився різним для кожного з них.

Методи також можуть мати параметри. Додамо новий метод під назвою addScore, який збільшує рахунок на вказану кількість, і спробуємо його використати:

index.cs

index.cs

copy
12345678910111213141516171819202122232425262728293031
using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } public void addScore(int add) { score += add; } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player1.displayScore(); player1.addScore(70); player1.displayScore(); } }

З результату видно, що метод оновлює рахунок на 70 балів.

1. Яке ключове слово є допустимим для оголошення методу?

2. Яким буде результат виконання наступного коду?

question mark

Яке ключове слово є допустимим для оголошення методу?

Select the correct answer

question mark

Яким буде результат виконання наступного коду?

Select the correct answer

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

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

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

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