我有以下代码:
static void Scan(string path)
{
try{
foreach (var file in Directory.EnumerateFiles(path, "zfsdfsdfsb.txt")){
Console.WriteLine("FILE: " + file);
}
foreach (var dir in Directory.EnumerateDirectories(path)){
Console.WriteLine("DIRECTORY: " + dir);
Scan(dir);
}
}
}
我想立即停止功能并访问变量
Console.WriteLine("FILE: " + file);
已被触发。
我试图返回它,但是它并没有做任何事情,如何在找到文件后立即设置变量并停止该函数?
答案 0 :(得分:1)
将您的void
更改为string
static string Scan(string path)
。
然后,在循环内,找到时返回字符串:
foreach (var file in Directory.EnumerateFiles(path, "zfsdfsdfsb.txt")){
Console.WriteLine("FILE: " + file);
return file;
}
如果未找到任何内容,您还需要在方法末尾返回一个字符串。
答案 1 :(得分:-1)
如果您要递归查找与给定模式匹配的文件
<div>
<div id="dynamiccontent">no no no</div>
</div>
<script>
document.getElementById("dynamiccontent").innerHTML = "hey hey hey"
</script>
如果您要查找特定文件,请用以下内容替换第一循环
static string Scan(string path)
{
try{
foreach (var file in Directory.EnumerateFiles(path, "zfsdfsdfsb.txt")){
Console.WriteLine("FILE: " + file);
return file;
}
foreach (var dir in Directory.EnumerateDirectories(path)){
Console.WriteLine("DIRECTORY: " + dir);
var ret = Scan(dir);
if(ret != null)
return ret;
}
}
return null;
}