否则如果声明无效,可能需要哪种方法?

时间:2014-11-25 16:35:13

标签: c# if-statement methods

似乎无法让这个错误消失。其他的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")
          {

          }
    }
}

4 个答案:

答案 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")
{}