In caso di loop, posso dichiarare l'indice all'esterno dell'istruzione for. Ad esempio, invece didichiarare la variabile all'esterno del ciclo foreach
for (int i = 0; i < 8; i++) { }
posso fare:
int i;
for (i = 0; i < 8; i++) { }
Ora, in confronto al Ciclo Foreach, devo dichiarare la variabile all'interno del ciclo:
foreach (string name in names) { }
e non posso fare qualcosa come:
string name;
foreach (name in names) { }
La ragione per cui mi dà fastidio è che dopo il ciclo voglio usare di nuovo la variabile "nome". In caso di ciclo foreach, la variabile "nome" non può essere utilizzata poiché è al di fuori dell'ambito foreach e non posso dichiarare un'altra variabile con lo stesso nome poiché dichiarata prima nello stesso ambito.
Qualche idea?
Si utilizzerà il nome per scorrere l'elenco, perché è necessario fare riferimento ad esso più avanti nel codice. Penso che puoi programmare per evitare la necessità di tale utilizzo. –
@Shamim Hafiz: ho un caso in cui preferisco una variabile con lo stesso nome del ciclo foreach. – Naor
Ho avuto lo stesso problema. Io uso un ciclo foreach all'interno di un try-catch e scrivo su un log all'interno del blocco try e catch. Io uso la variabile item nel ciclo foreach all'interno di entrambi i log. Ho finito per usare una variazione dei primi due metodi di Jon Skeet. – seebiscuit