我有下面的代碼,它掃描一個目錄,並將其文件名中包含「a」的文件放到一個新的文件夾A中。同樣,它將文件名稱爲「b」 B.由於if語句基本相同,唯一改變的是字母「a」或「b」併發送到destA或destb(desitinations),我該如何修改這些代碼?我知道有更好的方法,因爲大部分代碼都重複了......謝謝。冷凝重複如果語句
static void Main()
{
string path = @"C:\Users\me\Desktop\FOLDER";
string destA = @"C:\Users\me\Desktop\FOLDER\A";
string destB = @"C:\Users\me\Desktop\FOLDER\B";
DirectoryInfo dir = new DirectoryInfo(path);
FileInfo[] filesxx = dir.GetFiles();
foreach (FileInfo filexx in filesxx)
{
if (filexx.Name.Contains("a"))
{
if (!Directory.Exists(destA))
Directory.CreateDirectory(destA);
Console.WriteLine(filexx);
filexx.CopyTo(Path.Combine(destA, filexx.Name), true);
}
else if (filexx.Name.Contains("b"))
{
if (!Directory.Exists(destB))
Directory.CreateDirectory(destB);
Console.WriteLine(filexx);
filexx.CopyTo(Path.Combine(destB, filexx.Name), true);
}
else
{
Console.WriteLine("Other: ", filexx);
}
}
Console.Read();
}
那麼,你可以開始一個子程序,所有重複的代碼。然後弄清楚如何構建destA/destB路徑名,而不是硬編碼它們。 – 2013-03-18 19:22:27