gpt4 book ai didi

c# - 如何检查递归方法是否已经结束?

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:58 25 4
gpt4 key购买 nike

我刚刚完成了这个递归方法:

/// <summary>
/// Recursively process a given directory and add its file to Library.xml
/// </summary>
/// <param name="sourceDir">Source directory</param>
public void ProcessDir(string sourceDir)
{
string[] fileEntries = Directory.GetFiles(sourceDir, "*.mp3");
foreach (string fileName in fileEntries)
{
Song newSong = new Song();
newSong.ArtistName = "test artist";
newSong.AlbumName = "test album";
newSong.Name = "test song title";
newSong.Length = 1234;
newSong.FileName = fileName;

songsCollection.Songs.Add(newSong);
}

string[] subdirEntries = Directory.GetDirectories(sourceDir);
foreach (string subdir in subdirEntries)
{
if ((File.GetAttributes(subdir) & FileAttributes.ReparsePoint) != FileAttributes.ReparsePoint)
{
ProcessDir(subdir);
}
}
}

一切都按预期工作,我遇到的唯一问题是:我如何知道此方法何时完成执行?在 .NET 中是否有专门为此目的而制作的东西?

最佳答案

.NET 中没有什么特别之处告诉您这一点...基本上,对 ProcessDir 的第一次调用将在递归结束后返回。

关于c# - 如何检查递归方法是否已经结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com