Próbuję zliczyć całkowitą liczbę plików we wszystkich podkatalogach danej ścieżki. Używam rekurencyjnego wywołania funkcji. Jaki mógł być powód?Jak rozwiązać nieprzypisany błąd parametru "out"?
Kod:
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 { }
}
zadeklarowałeś iCount w głównym/globalnym? –
Dlaczego nie można wprowadzić wartości zwracanej przez metodę zamiast jej przekazywać? Co masz na myśli? Co więcej, musisz ustawić zero na górze rekursji (np. Z 0). –
zaktualizowany, zapomniałem, aby napisać pytanie, mam przypisać zero do zliczenia zmiennej –