【发布时间】:2015-01-13 20:03:00
【问题描述】:
我正在尝试创建一个控制台应用程序,允许用户访问文件和文件夹的某些属性,例如名称、大小等。这是一项任务,因此要获得奖励分数,我必须将默认文件夹更改为用户指定的文件夹仅当用户选择这样做的选项时。这里的问题是,在
if else (userSelection == 2) // code to allow users to change folder path
{
Console.WriteLine("Enter the Path of the Folder you wish to keep as default");
userChoiceFolder = Console.ReadLine();
if (Directory.Exists(userChoiceFolder))
{
Directory.SetCurrentDirectory(userChoiceFolder);
Console.WriteLine(Directory.GetCurrentDirectory());
}
}
上面的 if else 语句,它确实更改了文件夹,但仅在 if else 范围内。 我要做的是更改
中的默认路径DirectoryInfo folderInfo = new DirectoryInfo("C:\\");
到用户在 if else 选择 2 语句中指定的内容。所以用户指定的内容替换了“C:\”)。这是完整的代码
DirectoryInfo folderInfo = new DirectoryInfo("C:\\");
FileInfo[] files = folderInfo.GetFiles();
int userSelection;
string userInput;
string userChoiceFolder;
Console.WriteLine("Welcome! Please make a selection by Entering 1, 2, 2 or 4");
DisplayMenuOptions();
bool isUserSelection = int.TryParse(Console.ReadLine(), out userSelection);
while (isUserSelection == false || userSelection >= 1 && userSelection <= 5)
{
if (userSelection == 1)
{
Console.WriteLine("Files in C/: {0}", folderInfo.Name);
for (int index = 0; index < files.Length; index++)
{
//Code for file info
}
}
else if (userSelection == 2)
{
Console.WriteLine("Enter the Path of the Folder you wish to keep as default");
userChoiceFolder = Console.ReadLine();
if (Directory.Exists(userChoiceFolder))
{
Directory.SetCurrentDirectory(userChoiceFolder);
Console.WriteLine(Directory.GetCurrentDirectory());
}
}
else if (userSelection == 3)
{
//Code for filtered file listing
for (int fIndex = 0; fIndex < fileType.Length; fIndex++)
{
//Filetered fie listing display
}
}
else if (userSelection == 4)
{
//File statitstics code
}
else if (userSelection == 5)
{
return;
}
else
{
Console.WriteLine("Sorry, to make a selection you must enter 1, 2, 3 or 4");
}
Console.WriteLine("Press any key to Continue");
Console.ReadKey();
Console.Clear();
DisplayMenuOptions();
bool isSelection = int.TryParse(Console.ReadLine(), out userSelection);
}
}
谢谢
【问题讨论】: