似乎无法让这个错误消失。其他的If语句是If表示我放了一个;虽然Else说它是无效的,但它上面的括号也在Visual Studio中突出显示。这是因为我必须创建一个新方法,其中包含For循环,然后添加一个返回或什么?
class Program
{
static void Main(string[] args)
{
string originalinput = Console.ReadLine();
string userinput = originalinput.ToLower();
while (!userinput.StartsWith("filter") || !userinput.StartsWith("exit") || !userinput.StartsWith ("stop"))
{
DirectoryInfo folderInfo = new DirectoryInfo("C:\\Users\\Connor\\Desktop");
FileInfo[] files = folderInfo.GetFiles();
Console.WriteLine("There Are " + folderInfo.GetFiles().Length + "Which Meet The Requirement of The Search");
for (int index = 0; index < files.Length; index++)
{
Console.WriteLine(" " + files[index].Name + " - " + files[index].Length + " - " + files[index].LastWriteTime);
}
Console.ReadLine();
}
else if(userinput == "filter")
{
}
}
}
答案 0 :(得分:3)
您再也不会再分配userinput
,因此您不需要while
,您只需要检查一次。将while
替换为if
。
答案 1 :(得分:3)
而不是:
while (!userinput.StartsWith("filter") || !userinput.StartsWith("exit") || !userinput.StartsWith ("stop"))
有:
if (!userinput.StartsWith("filter") || !userinput.StartsWith("exit") || !userinput.StartsWith ("stop"))
答案 2 :(得分:2)
If-Else是您正在寻找的构造。
class Program
{
static void Main(string[] args)
{
string originalinput = Console.ReadLine();
string userinput = originalinput.ToLower();
if (!userinput.StartsWith("filter") || !userinput.StartsWith("exit") || !userinput.StartsWith ("stop"))
{
DirectoryInfo folderInfo = new DirectoryInfo("C:\\Users\\Connor\\Desktop");
FileInfo[] files = folderInfo.GetFiles();
Console.WriteLine("There Are " + folderInfo.GetFiles().Length + "Which Meet The Requirement of The Search");
for (int index = 0; index < files.Length; index++)
{
Console.WriteLine(" " + files[index].Name + " - " + files[index].Length + " - " + files[index].LastWriteTime);
}
Console.ReadLine();
}
else if(userinput == "filter")
{
}
}
}
答案 3 :(得分:0)
您应该在if
循环之后放置while
语句。如果while
条件获得false
,则会检查if
条件。
像这样:
string originalinput = Console.ReadLine();
string userinput = originalinput.ToLower();
while (!userinput.StartsWith("filter") || !userinput.StartsWith("exit") || !userinput.StartsWith ("stop"))
{
//your code
userinput = Console.ReadLine(); //get new user input
}
//check if input is "filter"
if(userinput == "filter")
{}
else if(userinput == "exit")
{}
else if(userinput == "stop")
{}