Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Métodos de Struct | Structs y Enumeradores
C# Más Allá de lo Básico

bookMétodos de Struct

Una estructura también puede tener métodos además de campos de datos. En una estructura, se crea un método de manera similar a como se crea un método en general:

index.cs

index.cs

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

Por ejemplo:

index.cs

index.cs

copy
12345678910
struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }

En la estructura Player existe un método llamado displayScore que muestra un mensaje de salida formateado que contiene el name y el score. Es importante destacar que los valores de name y score serán diferentes para cada objeto (instancia), lo que significa que el método displayScore mostrará una salida diferente para cada objeto.

Se puede acceder y ejecutar el método utilizando la sintaxis variableName.methodName(). A continuación, se muestra cómo se utiliza la estructura Player:

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

En el ejemplo, se crearon dos objetos utilizando la clase Player y se les asignaron algunos datos. El método displayScore se llamó usando cada objeto y la salida resultó ser diferente para cada uno de ellos.

También se pueden tener métodos con algunos parámetros. Agreguemos un nuevo método llamado addScore que aumenta la puntuación en una cantidad especificada y probemos su uso:

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

Se puede observar en la salida que el método actualiza la puntuación en 70 puntos.

1. ¿Cuál es una palabra clave válida para declarar un método?

2. ¿Cuál será la salida del siguiente código?

question mark

¿Cuál es una palabra clave válida para declarar un método?

Select the correct answer

question mark

¿Cuál será la salida del siguiente código?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 2.04

bookMétodos de Struct

Desliza para mostrar el menú

Una estructura también puede tener métodos además de campos de datos. En una estructura, se crea un método de manera similar a como se crea un método en general:

index.cs

index.cs

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

Por ejemplo:

index.cs

index.cs

copy
12345678910
struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }

En la estructura Player existe un método llamado displayScore que muestra un mensaje de salida formateado que contiene el name y el score. Es importante destacar que los valores de name y score serán diferentes para cada objeto (instancia), lo que significa que el método displayScore mostrará una salida diferente para cada objeto.

Se puede acceder y ejecutar el método utilizando la sintaxis variableName.methodName(). A continuación, se muestra cómo se utiliza la estructura Player:

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

En el ejemplo, se crearon dos objetos utilizando la clase Player y se les asignaron algunos datos. El método displayScore se llamó usando cada objeto y la salida resultó ser diferente para cada uno de ellos.

También se pueden tener métodos con algunos parámetros. Agreguemos un nuevo método llamado addScore que aumenta la puntuación en una cantidad especificada y probemos su uso:

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

Se puede observar en la salida que el método actualiza la puntuación en 70 puntos.

1. ¿Cuál es una palabra clave válida para declarar un método?

2. ¿Cuál será la salida del siguiente código?

question mark

¿Cuál es una palabra clave válida para declarar un método?

Select the correct answer

question mark

¿Cuál será la salida del siguiente código?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5
some-alt