Ho visto questo comportamento strano e mi chiedo se ci sia una spiegazione ragionevole per questo:Perché è ;; permesso dopo una dichiarazione di variabile locale, ma non dopo una dichiarazione di campo?
Quando ho messo da parte (per caso) un ulteriore punto e virgola/supplementare nella variabile locale di una funzione come:
public void MyMethod()
{
int a = 1;;
Console.WriteLine(a); //dummy
}
E ' compila ma mostra che è ridondante.
Ma quando l'ho fatto con i campi (anche per caso), ho ottenuto un errore (di compilazione):
Domanda
C'è qualche ragione per questa restrizione nei campi?
Nb Conosco già l'altra restrizione per non consentire var
con i campi. Ma qui è qualcosa di diverso.
Come si producono queste bellissime patch di dump dello schermo? – DrKoch
C# supporto dichiarazioni vuote così; da solo è valido all'interno di un corpo del metodo, ma non è possibile avere istruzioni nel corpo di una classe; non è valido lì. –
@DrKoch [qui] (http://www.faststone.org/FSCaptureDetail.htm) –