parametros parametro parameter opcional funciones definir c#

parameter - funciones y parametros c#



¿Puedo dar un valor predeterminado a los parámetros o parámetros opcionales en las funciones de C#? (6)

Así es exactamente como lo haces en C #, pero la función se agregó por primera vez en .NET 4.0

¿Puedo dar los parámetros por defecto en C #?

Cª:

void fun(int i = 1) { printf("%d", i); }

¿Podemos dar a los parámetros un valor predeterminado? ¿Es posible en C #? Si es así, ¿podemos evitar las funciones de sobrecarga?

Siempre es una mala práctica agregar un parámetro opcional a una función existente. Si está trabajando en un proyecto que tiene que referir a la clase que tiene una función y hemos cambiado un parámetro con un valor opcional, puede arrojar una excepción de tiempo de ejecución de que el método no se encuentra.

Esto se debe a que consideraremos que si agregamos un valor opcional adicional, no se requiere cambio de código si la función se usa en muchos lugares.

function Add(int a, int b);

Esto se llamará de esta manera:

Add(10, 10);

Pero si agregamos un parámetro opcional como este,

function Add(int a, int b, int c = 0);

entonces el compilador espera

Add(10, 10, 0);

En realidad, estamos llamando así a Add(10, 10) y esta función no estará disponible en esa clase y causa una excepción de tiempo de ejecución.

Esto ocurre mientras agrego un nuevo parámetro a una función que llama por muchos lugares y no estoy seguro de que esto ocurra todo el tiempo. Pero te sugiero que sobrecargues la función.

Siempre debemos sobrecargar el método que tiene un parámetro opcional. Además, si está trabajando con funciones que tienen más de un parámetro opcional, entonces es bueno pasar el valor usando el nombre del parámetro.

function Add(int a, int b, int c = 0);

Siempre es bueno llamar a esta función de la siguiente manera.

Add(10, 20, c:30);


Esta es una característica de C # 4.0, pero no fue posible sin usar la sobrecarga de funciones antes de esa versión.


Esta funcionalidad está disponible desde C # 4.0: se introdujo en Visual Studio 2010. Y puede usarlo en project for .NET 3.5. Por lo tanto, no es necesario actualizar proyectos antiguos en .NET 3.5 a .NET 4.0.

Simplemente tiene que usar Visual Studio 2010, pero recuerde que debe compilarse a la versión de idioma predeterminada (configúrelo en Propiedades del proyecto-> Buido-> Avanzado ...)

Esta página de MSDN tiene más información sobre los parámetros opcionales en VS 2010.


Sí, pero deberá usar .NET 3.5 y C # 4.0 para obtener esta funcionalidad.

Esta página de MSDN tiene más información.


Sí. Ver argumentos nombrados y opcionales . Tenga en cuenta que el valor predeterminado debe ser una constante, así que esto está bien:

public string Foo(string myParam = "default value") // constant, OK { }

pero esto no es:

public void Bar(string myParam = Foo()) // not a constant, not OK { }


Solo es posible a partir de C # 4.0

Sin embargo, cuando utiliza una versión de C #, anterior a la 4.0, puede solucionar esto utilizando métodos sobrecargados:

public void Func( int i, int j ) { Console.WriteLine (String.Format ("i = {0}, j = {1}", i, j)); } public void Func( int i ) { Func (i, 4); } public void Func () { Func (5); }

(O bien, puede actualizar a C # 4.0 por supuesto).