Struct Methods
A structure can also have methods apart from data fields. In a Struct, we create a method similar to how we create a method in general:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
For-example:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
In the Player
structure we have a method called displayScore
which displays a formatted output message containing the name
and score
. It is important to note that the name
and score
values will be different for each object (instance), which means that the displayScore
method will show a different output for each object.
We can access and execute the method using the variableName.methodName()
syntax. Let's look at how we will use the Player
structure:
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(); } }
In the example, two objects were created using the Player
class and some data was assigned to them. The displayScore
method was called using each object and the output turned out to be different for each of them.
We can also have methods with some parameters. Let's add a new method called "addScore" which increases the score by a specified amount and try using it:
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(); } }
You can see from the output that the method updates the score by 70
points.
1. Which is a valid keyword for declaring a method?
2. What will be the output of the following code?
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