En C #, una función es una forma de empaquetar código que hace algo y luego devuelve el valor.& amp; amp; nbsp; A diferencia de C, C ++ y algunos otros idiomas, las funciones no existen por sí mismas. Son parte de un enfoque de programación orientado a objetos.
Un programa para administrar hojas de cálculo puede incluir una función sum () como parte de un objeto, por ejemplo.
En C #, una función se puede llamar función miembro & amp; # x2014; es miembro de una clase & amp; # x2014; pero esa terminología se deja de C ++. El nombre habitual es un método.
Video destacado
El método de instancia
Hay dos tipos de métodos: método de instancia y método estático. Esta introducción cubre el método de instancia.
El siguiente ejemplo define una clase simple y la llama Prueba . Este ejemplo es un programa de consola simple, por lo que está permitido. Por lo general, la primera clase definida en el archivo C # debe ser la clase de formulario.
Es posible que tenga una clase vacía como esta clase Test {} , pero no es útil. Aunque parece vacío, & amp; # x2014; como todas las clases C # & amp; # x2014; hereda del objeto que lo contiene e incluye un constructor predeterminado & amp; nbsp; en el programa principal.
& lt; pre & gt; var t = nueva prueba ();
& lt; / pre & gt ;
Este código funciona, pero ganó & amp; apos; t hacer cualquier cosa cuando se ejecuta, excepto crear una instancia t de la clase de prueba vacía. El siguiente código agrega una función, un método que genera la palabra & amp; quot; Hello.& amp; quot;
& lt; pre & gt; usando el sistema; & lt; br & gt ;
espacio de nombres funcex1 & lt; br & gt ;
{& lt; br & gt ;
clase Test & lt; br & gt ;
{& lt; br & gt ;
vacío público SayHello () & lt; br & gt ;
{& lt; br & gt ;
Consola.WriteLine (& amp; quot; Hello & amp; quot;); & lt; br & gt ;
} & lt; br & gt ;
} & lt; br & gt ;
programa de clase & lt; br & gt ;
{& lt; br & gt ;
vacío estático Principal (cadena [] args) & lt; br & gt ;
{& lt; br & gt ;
var t = nueva prueba (); & lt; br & gt ;
t.SayHello (); & lt; br & gt ;
Consola.ReadKey (); & lt; br & gt ;
} & lt; br & gt ;
} & lt; br & gt ;
} & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; & lt; / br & gt; / br & gt; & br & gt; & br & gt; & gt; & lt; / br & gt; & gt;
& lt; / pre & gt ;
Este ejemplo de código incluye Console.ReadKey () , por lo que cuando se ejecuta, muestra la ventana de la consola y espera una entrada de tecla como Intro, Espacio o Retorno (no las teclas Mayús, Alt o Ctrl). Sin ella, abriría la consola Ventana, salida y amp; quot; Hola & amp; quot; y luego cerrar todo en un abrir y cerrar de ojos.
La función SayHello es una función tan simple como puede tener. Es una función pública, lo que significa que la función es visible desde el exterior y amp; nbsp; la clase.
Si elimina la palabra public e intenta compilar el código, falla con un error de compilación & amp; quot; funcex1.test.SayHello () & amp; apos; es inaccesible debido a su nivel de protección.& amp; quot; Si agrega la palabra & amp; quot; private & amp; quot; donde estaba la palabra público y recompilar, obtienes el mismo error de compilación. Simplemente cámbielo nuevamente a & amp; quot; public.& amp; quot;
La palabra nulo en la función significa que la función no devuelve ningún valor.
Características típicas de definición de función
- Nivel de acceso: público, privado más algunos otros
- Valor de retorno & amp; gt ;: nulo o cualquier tipo, como int
- Nombre del método: SayHello
- Cualquier parámetro del método: ninguno por ahora. Estos se definen entre paréntesis () después del nombre del método
El código para la definición de otra función, MyAge (), es:
& lt; pre & gt; public int MyAge () & lt; br & gt ;
{& lt; br & gt ;
devolver 53; & lt; br & gt ;
} & lt; / br & gt; & lt; / br & gt; & lt; / br & gt;
& lt; / pre & gt ;
Agregue eso justo después del método SayHello () en el primer ejemplo y agregue estas dos líneas antes Console.ReadKey () .
& lt; pre & gt; var age = t.MyAge (); & lt; br & gt ;
Consola.WriteLine (& amp; quot; David tiene {0} años y quot;, edad); & lt; / br & gt;
& lt; / pre & gt ;
Ejecutar el programa ahora genera esto:
& lt; pre & gt; Hola
& lt; / pre & gt ;
& lt; pre & gt; David tiene 53 años
& lt; / pre & gt ;
La edad var = t.MyAge (); llamada al método devolvió el valor 53. It & amp; apos; s no es la función más útil. Un ejemplo más útil es la función de suma de hoja de cálculo con una matriz de ints, el índice de inicio y el número de valores a sumar.
Esta es la función:
& lt; pre & gt; flotador público Suma (int [] valores, int startindex, int endindex) & lt; br & gt ;
{& lt; br & gt ;
var total = 0; & lt; br & gt ;
para (var index = startindex; index & amp; lt; = endindex; index ++) & lt; br & gt ;
{& lt; br & gt ;
total + = valores [índice]; & lt; br & gt ;
} & lt; br & gt ;
total de retorno; & lt; br & gt ;
} & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; / br & gt;
& lt; / pre & gt ;
Aquí hay tres casos de uso. Este es el código para agregar en Main () y llamar para probar la función Sum.
& lt; pre & gt; valores var = new int [10] {1, 2, 3, 4, 5, 6, 7, 8, 9,10}; & lt; br & gt ;
Consola.WriteLine (t.Sum (valores, 0,2)); // Debe ser 6 & lt; br & gt ;
Consola.WriteLine (t.Sum (valores, 0,9)); // debe ser 55 & lt; br & gt ;
Consola.WriteLine (t.Sum (valores, 9,9)); // debe ser 10 ya que el noveno valor es 10 & lt; / br & gt; & lt; / br & gt; & lt; / br & gt;
& lt; / pre & gt ;
El bucle For suma los valores en el índice de inicio del rango al índice final, por lo que para startindex = 0 y endindex = 2, esta es la suma de 1 + 2 + 3 = 6. Mientras que para 9,9, solo agrega los valores uno [9] = 10.
Dentro de la función, el total de la variable local se inicializa en 0 y luego tiene las partes relevantes de los valores de la matriz agregados.
& amp; # x203A; Informática