Struct Metoder
En struktur kan også have metoder ud over datafelter. I en struct oprettes en metode på samme måde, som du generelt opretter en metode:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
For eksempel:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
I Player
-strukturen findes en metode kaldet displayScore
, som viser en formateret outputbesked, der indeholder name
og score
. Det er vigtigt at bemærke, at værdierne for name
og score
vil være forskellige for hvert objekt (instans), hvilket betyder, at displayScore
-metoden vil vise forskellig output for hvert objekt.
Du kan tilgå og udføre metoden ved at bruge syntaksen variableName.methodName()
. Lad os se, hvordan du anvender Player
-strukturen:
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 eksemplet blev to objekter oprettet ved hjælp af Player
-klassen, og der blev tildelt nogle data til dem. Metoden displayScore
blev kaldt ved hjælp af hvert objekt, og outputtet viste sig at være forskelligt for hver af dem.
Du kan også have metoder med nogle parametre. Lad os tilføje en ny metode kaldet addScore
, som øger scoren med et angivet beløb, og prøve at bruge 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 ud fra outputtet, at metoden opdaterer scoren med 70
point.
1. Hvilket er et gyldigt nøgleord til at erklære en metode?
2. Hvad vil outputtet af følgende kode være?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 2.04
Struct Metoder
Stryg for at vise menuen
En struktur kan også have metoder ud over datafelter. I en struct oprettes en metode på samme måde, som du generelt opretter en metode:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
For eksempel:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
I Player
-strukturen findes en metode kaldet displayScore
, som viser en formateret outputbesked, der indeholder name
og score
. Det er vigtigt at bemærke, at værdierne for name
og score
vil være forskellige for hvert objekt (instans), hvilket betyder, at displayScore
-metoden vil vise forskellig output for hvert objekt.
Du kan tilgå og udføre metoden ved at bruge syntaksen variableName.methodName()
. Lad os se, hvordan du anvender Player
-strukturen:
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 eksemplet blev to objekter oprettet ved hjælp af Player
-klassen, og der blev tildelt nogle data til dem. Metoden displayScore
blev kaldt ved hjælp af hvert objekt, og outputtet viste sig at være forskelligt for hver af dem.
Du kan også have metoder med nogle parametre. Lad os tilføje en ny metode kaldet addScore
, som øger scoren med et angivet beløb, og prøve at bruge 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 ud fra outputtet, at metoden opdaterer scoren med 70
point.
1. Hvilket er et gyldigt nøgleord til at erklære en metode?
2. Hvad vil outputtet af følgende kode være?
Tak for dine kommentarer!