我正在尝试创建一个程序,将所有文件从一个目录复制到另一个目录。但我正在运行一个基本问题。它说,当我尝试在第52行编译时,标识符会被预期。
public bool RecursiveCopy()
{
string origDir = @"D:\Documents and Settings\Dub\My Documents\HoN Updates\test";
string destDir = @"C:\Games\HoN";
bool status = false;
//get all the info about the original directory
var dirInfo = new DirectoryInfo(origDir);
//retrieve all the _fileNames in the original directory
var files = dirInfo.GetFiles(origDir);
//always use a try...catch to deal
//with any exceptions that may occur
try
{
//loop through all the file names and copy them
foreach (string file in Directory.GetFiles(origDir))
{
var origFile = new FileInfo(file);
var destFile = new FileInfo(file.Replace(origDir, destDir));
//copy the file, use the OverWrite overload to overwrite
//destination file if it exists
System.IO.File.Copy(origFile.FullName, destFile.FullName, true);
//TODO: If you dont want to remove the original
//_fileNames comment this line out
File.Delete(origFile.FullName);
status = true;
}
Console.WriteLine("All files in " + origDir + " copied successfully!");
}
catch (Exception ex)
{
status = false;
//handle any errors that may have occurred
Console.WriteLine(ex.Message);
}
return status;
}
public string origDir = @"D:\Documents and Settings\Dub\My Documents\HoN Updates\test"; // ERROR HERE
public string destDir = @"C:\Games\HoN"; // ERROR HERE
private static void RecursiveCopy(origDir, destDir)
{
Console.WriteLine("done");
Console.ReadLine();
}
答案 0 :(得分:19)
您没有在此处为参数列表提供类型标识符
static void RecursiveCopy(origDir, destDir)
应该是
static void RecursiveCopy(string origDir, string destDir)
答案 1 :(得分:4)
您的方法RecursiveCopy
列出了两个没有其类型的参数。它应该是这样的:
static void RecursiveCopy(string origDir, string destDir)
答案 2 :(得分:2)
这是你的问题:
static void RecursiveCopy(origDir, destDir)
您没有指定参数的类型,您可能需要以下内容:
static void RecursiveCopy(string origDir, string destDir)
然而,我注意到还有更多问题。你可能还在继续研究这些问题,但是从你发布的内容开始:
您永远不会调用RecursiveCopy
方法。也许您打算从Main()
调用它而不是用两个参数声明重载?
您声明了两个公共字段origDir
和destDir
,但从未使用过它们。而是在RecursiveCopy()
中创建两个局部变量,然后使用它们。 您打算创建参数还是使用公共字段?
您的副本实际上并非属于“递归”的名称。
答案 3 :(得分:1)
c您在RecursiveCopy
方法声明中缺少参数类型。只需改变
static void RecursiveCopy(origDir, destDir)
到
static void RecursiveCopy(String origDir, String destDir)
一切都很好。