C# 验证用户输入并更新循环内的变量
我试图让用户以字符串形式输入文件路径(但出于学习目的,我希望将路径视为任何字符串变量,但我愿意接受有关文件路径验证的建议)。我现在遇到的问题似乎无法解决,即一旦从Console.ReadLine()更新了inFilepath,它只会出现在连接它的Console.WriteLine()语句中。尝试在其他任何地方显示它时会显示“”,我知道这表明变量自赋值为“”后未更新。我相信这是一个范围问题,但我不知道为什么,最终我只需要在其声明的同一范围内访问更新的inFilepathC# 验证用户输入并更新循环内的变量,c#,validation,loops,input,path,C#,Validation,Loops,Input,Path,我试图让用户以字符串形式输入文件路径(但出于学习目的,我希望将路径视为任何字符串变量,但我愿意接受有关文件路径验证的建议)。我现在遇到的问题似乎无法解决,即一旦从Console.ReadLine()更新了inFilepath,它只会出现在连接它的Console.WriteLine()语句中。尝试在其他任何地方显示它时会显示“”,我知道这表明变量自赋值为“”后未更新。我相信这是一个范围问题,但我不知道为什么,最终我只需要在其声明的同一范围内访问更新的inFilepath string correc
string correctPath = "no";
string inFilepath = "";
bool flag = false;
bool inFlag = false;
while (!flag) {
Console.WriteLine("Please Enter the Tour file path now...");
inFilepath = Console.ReadLine();
inFilepath += "\\";
while (!inFlag) {
Console.WriteLine("Is this the correct filepath: " + inFilepath + " ?" +
"\n Enter 'no' if it is incorrect or 'yes' if it is correct.");
correctPath = Console.ReadLine();
if (correctPath == "yes") {
inFlag = true;
flag = true;
}
else {
break;
}
}
}
Console.WriteLine("path: ", inFilepath);
您的问题是,您正在传递参数arg,但没有使用/显示它
Console.WriteLine("path: ", inFilepath);
您需要添加{0}
,如
Console.WriteLine("path: {0}", inFilepath);