运营商|| 不能应用于类型bool和字符串/字符串和字符串

hex*_*xce 2 c# string if-statement

我发现的简单任务非常困难.

 Console.Write("[" + CurrentTime + "] Name a day of the week? ");
 string vDay = Console.ReadLine();
 if (vDay != "Monday" || "Tuesday" || "Wednesday" || "Thursday" || "Friday")
 {
  Console.WriteLine("that is not a valid day of the week");
 }
Run Code Online (Sandbox Code Playgroud)

当我使用时第一次!=它给了我一个错误,说"不能应用于bool和字符串"没有!=而且只是=我得到"字符串和字符串"

基本上我要做的是,如果有人输入"你好",例如它会说这不是一周中有效的一天.

这么简单的任务,但我发现它很难,谢谢你的帮助.

Sci*_*ion 8

可能更清洁,有类似的东西:

List<string> list = new List<string> { "Monday", "Tuesday", "Wednesday", "Thursday", ... };

if (!list.Contains(vDay ))
{
    Console.WriteLine("that is not a valid day of the week");
}
Run Code Online (Sandbox Code Playgroud)

  • 还行吧.但它没有回答Op的原始问题,即为什么错误说"不能应用于bool和字符串". (2认同)

Sad*_*que 6

这就是你需要的:

if (vDay != "Monday" && vDay != "Tuesday" && vDay != "Wednesday" && vDay != "Thursday" && vDay != "Friday")
{
      Console.WriteLine("that is not a valid day of the week");
}
Run Code Online (Sandbox Code Playgroud)