尽管有匹配项,为什么此函数什么也不返回?

尽管有匹配项,为什么此函数什么也不返回?,第1张

尽管有匹配项,为什么此函数什么也不返回?

在递归中,您将丢失在子目录中找到的文件。通过以下方式捕获返回文件名

foreach (string d in Directory.GetDirectories(dirName)){    fileNames.AddRange(GetXMLFiles(fileType, d));}

发生的情况是此行

var fileNames = newList<String>();
创建了一个名为的局部变量
fileNames
。您可能会认为,因为您的方法是静态的,所以方法内部的变量是静态的。不是这种情况。因此,每次调用
GetXMLFiles
,都会为每个调用创建此变量的副本。

由于

fileNames
对于的每次调用都是本地的
GetXMLFiles
,因此您需要将其找到的所有文件名返回给调用者,并且调用者需要将这些文件名添加到其本地的集合中。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5129090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存