私の質問「現代の言語はローカル変数と再帰をどのように処理しますか?」ファイル検索メソッドを書くことから来ています。基本的、
public ArrayList getMusicFiles(string directory){
ArrayList songpaths = new ArrayList();
string[] localFiles = System.IO.Directory.GetFiles(directory);
for(int i=0; i<localFiles.Length-1; i++)
if(isMusicFile(localFiles[i]))
songpaths.add(localFiles[i]);
string[] localFolders = System.IO.Directory.GetDirectories(directory);
for(int i=0; i<localFolder.length-1; i++)
getMusicFiles(localFolder[i]);
}
したがって、問題は、再帰ごとに「ソングパス」を再宣言することです。VB では、songpath を static として宣言できます。これで解決すると思います。ArrayList を上書きしないようにする良い C# の方法はありますか?