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
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!