Об'єкти Класу
Свайпніть щоб показати меню
Об'єкт класу можна створити за допомогою наступного синтаксису:
index.cs
1className variableName = new className();
Доступ до поля класу здійснюється за допомогою оператора крапки (.):
index.cs
1variableName.fieldName
Наприклад:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player p1= new Player(); p1.username = "Don"; Console.WriteLine(p1.username); } }
Вираз new Player(); використовується для створення нового об'єкта, тоді як Player p1 використовується для створення змінної для зберігання цього нового об'єкта. Отже, простий запис Player p1; створить лише порожню змінну без об'єкта всередині, тому необхідно створити новий об'єкт і, відповідно, зберегти його у змінній: Player p1 = new Player();.
Таким чином, якщо створити масив розміром 10 з використанням класу Player, це не створить 10 об'єктів, а лише створить порожній масив із місткістю для зберігання 10 об'єктів Player. Це можна зрозуміти на наступному прикладі:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0].username = "Don"; // Error on this line Console.WriteLine(players[0].username); } }
Помилка повідомляє: "Object reference not set to an instance of an object", що означає, що ви намагаєтеся отримати доступ до даних об'єкта, якого не існує — об'єкт відсутній за індексом 0.
Це можна виправити, створивши об'єкт вручну за індексом 0:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0] = new Player(); players[0].username = "Don"; Console.WriteLine(players[0].username); } }
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат