Los métodos se declaran en una clase o estructura especificando el nivel de acceso, el valor devuelto, el nombre del método y los parámetros de método. Los parámetros de método se incluyen entre paréntesis y separados por comas. Los paréntesis vacíos indican que el método no requiere ningún parámetro. Esta clase contiene tres métodos:
class Motorcycle
{
public void StartEngine() { }
public void AddGas(int gallons) { }
public int Drive(int miles, int speed) { return 0; }
}
Todo método debe de ser parte de una clase, no existen métodos globales.
De forma predeterminada, los parámetros se pasan por valor.
El modificador ref fuerza a pasar los parámetros por referencia en vez de pasarlos por valor.
El modificador out es similar al modificador "ref" con una excepción: sólo se puede utilizar para pasar un valor fuera de un método. El método debe de asignar un valor al parámetro antes de que el método finalice.
Cuando "ref" y "out" modifican un parámetro de referencia, la propia referencia se pasa por referencia.
Un método debe tener como máximo un único parámetro params y éste debe de ser el último.
Un método puede devolver cualquier tipo de datos, incluyendo tipos de clase.
Ya que en C# las matrices se implementan como objetos, un método también puede devolver una matriz.
C# implementa sobrecarga de métodos, dos o más métodos pueden tener el mismo nombre siempre y cuando se diferencien por sus parámetros.
Valores devueltos
Los métodos pueden devolver un valor al llamador. Si el tipo de valor devuelto no es void, el método puede devolver el valor mediante la palabra clave return. Una instrucción con la palabra clave return, seguida de un valor que coincida con el tipo de valor devuelto, devolverá ese valor al llamador del método. La palabra clave return también detiene la ejecución del método. Si el tipo de valor devuelto es void, una instrucción return sin ningún valor sigue siendo útil para detener la ejecución del método. Sin la palabra clave return, el método detendrá la ejecución cuando llegue al fin del bloque de código. Es necesario que los métodos con un tipo de valor devuelto no nulo utilicen la palabra clave return para devolver un valor. Por ejemplo, estos dos métodos utilizan la palabra clave return para devolver enteros:
class SimpleMath
{
public int AddTwoNumbers(int number1, int number2)
{
return number1 + number2;
}
public int SquareANumber(int number)
{
return number * number;
}
}
EJEMPLO
class Program
{
static void Main(string[] args)
{
int[] a = { 54, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
string salida = "Valores de los items originales\n";
for (int i = 0; i < a.Length; i++)
salida += " " + a[i];
OrdenarBurbuja(a);
salida += "\n\nValores de los items en orden descendente\n";
for (int i = 0; i < a.Length; i++)
salida += " " + a[i];
Console.WriteLine(salida);
Console.ReadKey();
}
static public void OrdenarBurbuja(int[] b)
{
for (int pasadas = 1; pasadas < b.Length; pasadas++)
for (int i = 0; i < b.Length - 1; i++)
if (b[i] > b[i + 1])
intercambio(b, i);
}
static public void intercambio(int[] c, int primero)
{
int temp;
temp = c[primero];
c[primero] = c[primero + 1];
c[primero + 1] = temp;
}
}
}
No hay comentarios:
Publicar un comentario