2010-07-19 18 views
33

Pregunta rápida; Recientemente me actualicé a VS2010 y obtuve la nueva versión de ReSharper.sintaxis C# - Colón después de un nombre de variable

Ahora, cuando ReSharper me está dando opciones de autocompletar para una variable, que me da la opción de < variableName>:

Lo que hace el : Soporte para?

Por ejemplo; Tengo esto:

var productIds = new List<int>(inventoryItemsToProcess.Keys); 

Y mientras se escribe una línea como la siguiente:

var lastOrderDates = GetProductLastOrderDates(pro 

Me da la opción para productIds, así como productIds:

¿Cuál es la diferencia entre los dos ?

Respuesta

39

El segundo es para C# 4.0 named arguments. Y aquí hay un link on MSDN.

+12

argumentos Más exactamente, con nombre. Los parámetros siempre han tenido nombres :) –

+1

simple, completo, correcto – Kris

+6

@Jon Skeet: amigo, te das cuenta de que eres el único que conoce la diferencia entre los parámetros y los argumentos ¿no? ;-) – Kris

35

El punto es necesario para indicar los parámetros. En C# 4.0, puede reordenar y nombrar sus parámetros, opcionalmente, pero el nombre de la variable debe coincidir con el prototipo y tener el sufijo de dos puntos.

public void Test(string something1, string something2) 
{ 
} 

puede ser llamado como:

Test(something2: "bar", something1: "foo"); 

si quieren

+7

Gracias por proporcionar una ilustración, no solo un enlace. – DOK

Cuestiones relacionadas