2010-07-19 18 views
33

Domanda veloce; Ho recentemente aggiornato a VS2010 e ho ottenuto la nuova versione di ReSharper.Sintassi C# - Colon dopo un nome variabile

Ora, quando ReSharper mi sta dando le opzioni di completamento automatico per una variabile, mi dà la possibilità di < nomeVariabile>:

Che cosa significa la : supporto per?

Ad esempio; Ho questo:

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

E quando si digita una linea come questa:

var lastOrderDates = GetProductLastOrderDates(pro 

mi dà l'opzione per productIds così come productIds:

Qual è la differenza tra i due ?

risposta

39

Il secondo è per C# 4.0 named arguments. Ed ecco un link on MSDN.

+12

argomenti Più precisamente, il nome. I parametri hanno sempre avuto nomi :) –

+1

semplice, completo, corretto – Kris

+6

@Jon Skeet: amico, ti rendi conto che sei l'unico ragazzo che conosce la differenza tra parametri e argomenti giusto? ;-) – Kris

35

I due punti sono necessari per indicare i parametri. In C# 4.0, è possibile riordinare e assegnare un nome ai parametri, facoltativamente, ma il nome della variabile deve corrispondere al prototipo e avere il suffisso di due punti.

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

può essere definito come:

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

se volete

+7

Grazie per aver fornito un'illustrazione, non solo un collegamento. – DOK