Strukturmetoder
En struktur kan også ha metoder i tillegg til datafelter. I en struct oppretter du en metode på samme måte som du vanligvis oppretter 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 har du en metode kalt displayScore
som viser en formatert utdata-melding med name
og score
. Det er viktig å merke seg at verdiene for name
og score
vil være forskjellige for hvert objekt (instans), noe som betyr at displayScore
-metoden vil vise ulik utdata for hvert objekt.
Du kan få tilgang til og utføre metoden ved å bruke syntaksen variableName.methodName()
. La oss se hvordan du bruker 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 ble to objekter opprettet ved hjelp av Player
-klassen, og noen data ble tildelt dem. Metoden displayScore
ble kalt med hvert objekt, og resultatet ble forskjellig for hver av dem.
Du kan også ha metoder med noen parametere. La oss legge til en ny metode kalt addScore
som øker poengsummen med et angitt beløp og prøve å bruke 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 fra resultatet at metoden oppdaterer poengsummen med 70
poeng.
1. Hvilket er et gyldig nøkkelord for å erklære en metode?
2. Hva vil være utskriften av følgende kode?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Sveip for å vise menyen
En struktur kan også ha metoder i tillegg til datafelter. I en struct oppretter du en metode på samme måte som du vanligvis oppretter 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 har du en metode kalt displayScore
som viser en formatert utdata-melding med name
og score
. Det er viktig å merke seg at verdiene for name
og score
vil være forskjellige for hvert objekt (instans), noe som betyr at displayScore
-metoden vil vise ulik utdata for hvert objekt.
Du kan få tilgang til og utføre metoden ved å bruke syntaksen variableName.methodName()
. La oss se hvordan du bruker 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 ble to objekter opprettet ved hjelp av Player
-klassen, og noen data ble tildelt dem. Metoden displayScore
ble kalt med hvert objekt, og resultatet ble forskjellig for hver av dem.
Du kan også ha metoder med noen parametere. La oss legge til en ny metode kalt addScore
som øker poengsummen med et angitt beløp og prøve å bruke 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 fra resultatet at metoden oppdaterer poengsummen med 70
poeng.
1. Hvilket er et gyldig nøkkelord for å erklære en metode?
2. Hva vil være utskriften av følgende kode?
Takk for tilbakemeldingene dine!