Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我能';我不能用递归代码读取subdir_C#_Asp.net_.net_C# 4.0 - Fatal编程技术网

C# 为什么我能';我不能用递归代码读取subdir

C# 为什么我能';我不能用递归代码读取subdir,c#,asp.net,.net,c#-4.0,C#,Asp.net,.net,C# 4.0,这是我的递归代码 private void recursiveSubDir(dynamic workingdirectories) { var targetDir = workingdirectories; foreach (string _selectedDir in targetDir) { var targetFile = Directory.GetFiles(_selectedDir);

这是我的递归代码

    private void recursiveSubDir(dynamic workingdirectories)
    {

        var targetDir = workingdirectories;
        foreach (string _selectedDir in targetDir)
        {

            var targetFile = Directory.GetFiles(_selectedDir);
            foreach (var selectedFile in targetFile)
            {
                string enc_selectedFile = GetMD5FromFile(selectedFile);
                string[] md5text = File.ReadAllLines("md5 encryptor.txt");
                foreach (string md5textcheck in md5text)
                {
                    if (enc_selectedFile.Contains(md5textcheck))
                    {
                        virus = virus + 1;
                    }
                }

            }
            MessageBox.Show(_selectedDir);
            recursiveSubDir(_selectedDir);
        }
    }
我称之为递归

try{ string[] md5text = File.ReadAllLines("md5 encryptor.txt");
                string[] files = Directory.GetFiles(lokdirek);
                var dirs = Directory.GetDirectories(lokdirek, "*", SearchOption.TopDirectoryOnly).Where(d => !isexcluded(_excludeDirectories, d));

                int directoryCount = System.IO.Directory.GetDirectories(lokdirek).Length;
                recursiveSubDir(dirs); }

检查工作目录的类型。实际代码(您发送图片的源代码)与您发布的代码略有不同。图中是这样的:

foreach (var _selectedDir in targetDir)

所以这里是var而不是string,然后我们不能确定_selectedDir实际上是一个字符串。例如,它可以包含会产生类似错误的对象。如果你修正了这一点,使上面的一行与你发布的类似,并且在运行时得到InvalidCastException,那么我很确定这就是问题所在

当外部资源消失或修复时,依赖外部资源的问题将变得无用。当抛出异常时,
\u selectedDir
的确切值是多少?