Strukturmetoder
En struktur kan också ha metoder utöver datafält. I en struct skapar du en metod på samma sätt som du generellt skapar en metod:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Till exempel:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
I strukturen Player
finns en metod som heter displayScore
som visar ett formaterat utdata-meddelande innehållande name
och score
. Det är viktigt att notera att värdena för name
och score
kommer att vara olika för varje objekt (instans), vilket innebär att metoden displayScore
kommer att visa olika utdata för varje objekt.
Du kan komma åt och anropa metoden med syntaxen variableName.methodName()
. Låt oss se hur du använder strukturen Player
:
index.cs
123456789101112131415161718192021222324252627282930using 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(); } }
I exemplet skapades två objekt med hjälp av klassen Player
och viss data tilldelades dem. Metoden displayScore
anropades med varje objekt och resultatet blev olika för var och en av dem.
Du kan även ha metoder med parametrar. Låt oss lägga till en ny metod som heter addScore
som ökar poängen med ett angivet belopp och prova att använda den:
index.cs
12345678910111213141516171819202122232425262728293031using 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(); } }
Du kan se av resultatet att metoden uppdaterar poängen med 70
poäng.
1. Vilket är ett giltigt nyckelord för att deklarera en metod?
2. Vad blir utmatningen av följande kod?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Strukturmetoder
Svep för att visa menyn
En struktur kan också ha metoder utöver datafält. I en struct skapar du en metod på samma sätt som du generellt skapar en metod:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Till exempel:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
I strukturen Player
finns en metod som heter displayScore
som visar ett formaterat utdata-meddelande innehållande name
och score
. Det är viktigt att notera att värdena för name
och score
kommer att vara olika för varje objekt (instans), vilket innebär att metoden displayScore
kommer att visa olika utdata för varje objekt.
Du kan komma åt och anropa metoden med syntaxen variableName.methodName()
. Låt oss se hur du använder strukturen Player
:
index.cs
123456789101112131415161718192021222324252627282930using 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(); } }
I exemplet skapades två objekt med hjälp av klassen Player
och viss data tilldelades dem. Metoden displayScore
anropades med varje objekt och resultatet blev olika för var och en av dem.
Du kan även ha metoder med parametrar. Låt oss lägga till en ny metod som heter addScore
som ökar poängen med ett angivet belopp och prova att använda den:
index.cs
12345678910111213141516171819202122232425262728293031using 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(); } }
Du kan se av resultatet att metoden uppdaterar poängen med 70
poäng.
1. Vilket är ett giltigt nyckelord för att deklarera en metod?
2. Vad blir utmatningen av följande kod?
Tack för dina kommentarer!