我有以下代码,它扫描一个目录并将其文件名中包含“a”的文件放入一个新文件夹 A。同样,它将文件名中包含“b”的文件放入一个名为 B 的新文件夹中。因为 if 语句是基本相同,唯一改变的是字母“a”或“b”并被发送到 destA 或 destb (目标),我该如何修剪这段代码?我知道有更好的方法,因为大部分代码都是重复的......谢谢。
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();
}