Métodos de Struct
Uma estrutura também pode ter métodos além dos campos de dados. Em uma struct, você cria um método de forma semelhante à criação de um método em geral:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Por exemplo:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
Na estrutura Player, há um método chamado displayScore que exibe uma mensagem formatada contendo o name e o score. É importante observar que os valores de name e score serão diferentes para cada objeto (instância), o que significa que o método displayScore apresentará uma saída diferente para cada objeto.
É possível acessar e executar o método utilizando a sintaxe variableName.methodName(). Veja como utilizar a estrutura Player:
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(); } }
No exemplo, dois objetos foram criados usando a classe Player e alguns dados foram atribuídos a eles. O método displayScore foi chamado usando cada objeto e a saída foi diferente para cada um deles.
Também é possível ter métodos com alguns parâmetros. Vamos adicionar um novo método chamado addScore, que aumenta a pontuação por uma quantidade especificada, e tentar utilizá-lo:
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(); } }
É possível observar pela saída que o método atualiza a pontuação em 70 pontos.
1. Qual é uma palavra-chave válida para declarar um método?
2. Qual será a saída do código a seguir?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.04
Métodos de Struct
Deslize para mostrar o menu
Uma estrutura também pode ter métodos além dos campos de dados. Em uma struct, você cria um método de forma semelhante à criação de um método em geral:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Por exemplo:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
Na estrutura Player, há um método chamado displayScore que exibe uma mensagem formatada contendo o name e o score. É importante observar que os valores de name e score serão diferentes para cada objeto (instância), o que significa que o método displayScore apresentará uma saída diferente para cada objeto.
É possível acessar e executar o método utilizando a sintaxe variableName.methodName(). Veja como utilizar a estrutura Player:
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(); } }
No exemplo, dois objetos foram criados usando a classe Player e alguns dados foram atribuídos a eles. O método displayScore foi chamado usando cada objeto e a saída foi diferente para cada um deles.
Também é possível ter métodos com alguns parâmetros. Vamos adicionar um novo método chamado addScore, que aumenta a pontuação por uma quantidade especificada, e tentar utilizá-lo:
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(); } }
É possível observar pela saída que o método atualiza a pontuação em 70 pontos.
1. Qual é uma palavra-chave válida para declarar um método?
2. Qual será a saída do código a seguir?
Obrigado pelo seu feedback!