早上好!
我的程序有点问题。这个程序应该列出C:盘上的所有文件,但它会抛出以下例外:
Severity Code Description Project File Line Suppression State
Error CS1503 Argument 2: cannot convert from 'System.Collections.Generic.IEnumerable<string>' to 'string[]' ConsoleApplication2 c:\users\aleš\documents\visual studio 2015\Projects\ConsoleApplication2\ConsoleApplication2\Program.cs 15 Active
拜托,你能帮助我吗?这不是我的代码所以我真的不知道如何处理它。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Permissions;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var paths = Traverse(@"C:\");
File.WriteAllLines(@"C:\\test.txt", paths);
}
private static IEnumerable<string> Traverse(string rootDirectory)
{
IEnumerable<string> files = Enumerable.Empty<string>();
IEnumerable<string> directories = Enumerable.Empty<string>();
try
{
// The test for UnauthorizedAccessException.
var permission = new FileIOPermission(FileIOPermissionAccess.PathDiscovery, rootDirectory);
permission.Demand();
files = Directory.GetFiles(rootDirectory);
directories = Directory.GetDirectories(rootDirectory);
}
catch
{
// Ignore folder (access denied).
rootDirectory = null;
}
if (rootDirectory != null)
yield return rootDirectory;
foreach (var file in files)
{
yield return file;
}
// Recursive call for SelectMany.
var subdirectoryItems = directories.SelectMany(Traverse);
foreach (var result in subdirectoryItems)
{
yield return result;
}
}
}
}
非常感谢你! 带着敬意, ALES