Cuál es la diferencia entre myVar
y myVar:
en la lista de autocompletado de VS mientras se trabaja con funciones. ¿Por qué el segundo se agrega a esta lista?¿Por qué existen las mismas variables mías con un ':' en la lista completa de auto de Visual Studio?
¿Por qué existen las mismas variables mías con un ':' en la lista completa de auto de Visual Studio?
Respuesta
C# 4.0 introducido named arguments. Esta característica le permite identificar los argumentos del método por sus nombres en lugar de su posición:
public void Foo(int bar, string quux)
{
}
// Before C# 4.0:
Foo(42, "text");
// After C# 4.0:
Foo(bar: 42, quux: "text");
// Or, equivalently:
Foo(quux: "text", bar: 42);
Intellisense ha sido actualizado para soportar esa característica, por lo que su mecanismo de terminación automática ahora ofrece dos opciones cuando un símbolo accesible desde el ámbito actual tiene el mismo nombre que un argumento de método.
Esto es probablemente cuando se establece un valor para un parámetro al llamar a un método, ¿sí? En C# .NET 4, puede establecer named parameters al llamar a un método. Esto elimina la necesidad de tener que ingresar sus parámetros en un orden establecido.
private void MyMethod(int width, int height){
// do stuff
}
//These are all the same:
MyMethod(10,12);
MyMethod(width: 10, height: 12);
MyMethod(heigh: 12, width: 12);
esta es una característica muy interesante. permite que su código sea más tolerante a los cambios de orden de parámetros ...
Además de lo que escribieron los demás: El primero es una variable (local) o campo, mientras que el último es el nombre del parámetro de el método llamado. En el código:
private void MyFirstMethod(int myVar)
{
Console.WriteLine(myVar);
}
private void MySecondMethod(int myVar)
{
MyFirstMethod(myVar); // Call with the value of the parameter myVar
MyFirstMethod(myVar: myVar); // Same as before, but explicitly naming the parameter
MyFirstMethod(5); // Call with the value 5
MyFirstMethod(myVar: 5); // Same as before, but explicitly naming the parameter
}
- 1. Problema de selección completa de Microsoft visual studio auto
- 2. Visual Studio Auto-Format Roto
- 3. ¿Por qué existen las ID?
- 4. Visual Studio 2008 Auto Save
- 5. ¿Hay una lista de variables de entorno de Visual Studio?
- 6. ¿Por qué mi proyecto de instalación de Visual Studio inicia IE cuando se completa la instalación?
- 7. Visual Studio declaración de variables
- 8. Cambio de fuente para las variables miembro en Visual Studio
- 9. ¿Por qué faltan todas las tablas en la comparación de datos en visual studio 2010?
- 10. ¿Cómo agrego las mismas referencias de proyecto de solución al exportar plantillas en Visual Studio?
- 11. Enlace a todas las variables de Visual Studio $
- 12. Cómo graficar cómo cambian las variables en Visual Studio
- 13. ¿Existen dos versiones diferentes de las mismas libretas (con el mismo nombre) en una aplicación?
- 14. Auto-formateo de funciones lambda en Visual Studio 2010
- 15. Visual Studio modo de pantalla completa
- 16. ¿Qué soluciones existen para la propiedad `completa` en FireFox?
- 17. Identificar vistas en la lista de pestañas de Visual Studio
- 18. Visual Studio Debugger - Asignación automática de variables
- 19. ¿Por qué duplican mis puntos de interrupción en Visual Studio?
- 20. Penalización de rendimiento con la palabra clave 'auto' en Visual Studio 2010
- 21. ¿Por qué Visual Studio tarda tanto en eliminar un archivo?
- 22. Clase de caso de Scala derivada con las mismas variables miembro que la base
- 23. ¿Por qué Visual Studio se cuelga constantemente?
- 24. La implementación de Visual Studio IntelliSense
- 25. Visual Studio 2010/Resharper - Intellisense por clase?
- 26. Desactivar copia de línea completa en Visual Studio
- 27. ¿Qué variables especiales están disponibles en la ventana de visualización de Visual Studio en .NET?
- 28. Variables fuera de contexto en Visual Studio 2010 Debugger
- 29. ¿Por qué veo las variables de JavaScript con el prefijo $?
- 30. ¿Qué herramientas de edición T4 existen?
y hace que el código sea más detallado. por supuesto, para algunas personas, cuanto más seco sea el idioma, mejor, pero me gusta que el código sea lo más legible posible. –
Pero lo hace menos tolerante a los cambios de nombre de parámetro ... –
@Daniel Rose - Prefiero que sea menos tolerante a los cambios de nombre. Si cambia el orden de dos parámetros con los mismos o compatibles, se compilará sin error, pero funcionará incorrectamente. –