Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Struct Methods | Structs & Enumerators
C# Beyond Basics
course content

Course Content

C# Beyond Basics

C# Beyond Basics

1. Additional Structures & File Handling
2. Structs & Enumerators
3. Introduction to Object-Oriented Programming (OOP)
4. OOP Essentials
5. OOP Principles

book
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:

cs

index

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

For-example:

cs

index

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

cs

index

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(); } }

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:

cs

index

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(); } }

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?
Which is a valid keyword for declaring a method?

Which is a valid keyword for declaring a method?

Select the correct answer

What will be the output of the following code?

What will be the output of the following code?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 5
We're sorry to hear that something went wrong. What happened?
some-alt