Sto provando a contare il numero totale di file in tutte le sottocartelle di un determinato percorso. Sto usando una chiamata di funzione ricorsiva. Quale potrebbe essere la ragione?Come risolvere l'errore di parametro 'out' non assegnato?
Codice:
int iCount =0;
getFileCount(_dirPath, out iCount);
private void getFileCount(string _path, out int iCount)
{
try
{
// gives error :Use of unassigned out parameter 'iCount' RED Underline
iCount += Directory.GetFiles(_path).Length;
foreach (string _dirPath in Directory.GetDirectories(_path))
getFileCount(_dirPath, out iCount);
}
catch { }
}
hanno dichiarato iCount in main/global? –
Perché non si può rendere il metodo valore di ritorno invece di passarlo come fuori? Qual è il messaggio che hai ricevuto? Inoltre, è necessario calcolare zero nella parte superiore della ricorsione (ad es. Con 0). –
aggiornato, ho dimenticato di scrivere in questione, ho assegnato zero per contare la variabile –