Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Strukturmetoder | Strukturer og Enumeratorer
C# Utover Det Grunnleggende

bookStrukturmetoder

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

index.cs

copy
123456789
struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }

For eksempel:

index.cs

index.cs

copy
12345678910
struct 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

index.cs

copy
123456789101112131415161718192021222324252627282930
using 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

index.cs

copy
12345678910111213141516171819202122232425262728293031
using 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?

question mark

Hvilket er et gyldig nøkkelord for å erklære en metode?

Select the correct answer

question mark

Hva vil være utskriften av følgende kode?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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

bookStrukturmetoder

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

index.cs

copy
123456789
struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }

For eksempel:

index.cs

index.cs

copy
12345678910
struct 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

index.cs

copy
123456789101112131415161718192021222324252627282930
using 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

index.cs

copy
12345678910111213141516171819202122232425262728293031
using 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?

question mark

Hvilket er et gyldig nøkkelord for å erklære en metode?

Select the correct answer

question mark

Hva vil være utskriften av følgende kode?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 5
some-alt