代码询问用户他/她是否吃过东西。然后,它循环这个问题,直到输入一个有效的输入(例如"nothing“或”nothing“)。我的问题是,无论输入了什么内容,当我使用“财政”操作符时,循环都会继续。据我理解,如果用户输入的字符串等于"nothing“、”string“,或者是基于我正在使用的操作符,则循环应该结束。但是这个结果只有在我使用"&&“操作符时才会出现,这使我感到困惑,因为这意味着用户必须输入一个等于"nothing”和“nothing”的字符串值。那么,我的问题是为什么我的循环与"&&“操作符一起工作,而不与”x“或"^”运算符一起工作?提前谢谢。
struct multivar
{
public int userInt;
public string userText;
}
class Program
{
static void Main(string[] args)
{
multivar structHolder;
string shrinkRay = "";
while ((shrinkRay != "nothing") || (shrinkRay != "something"))
{
Console.WriteLine("What did you eat today?\n1)Nothing?\n2)Something?");
structHolder.userText = Console.ReadLine();
shrinkRay = structHolder.userText.ToLower();
if ((shrinkRay != "nothing") || (shrinkRay != "something"))
{
Console.WriteLine("Please input a valid response such as \"Nothing\" or \"Something\".");
}
}发布于 2014-08-19 17:12:00
用户不能同时输入"nothing“和”The“,所以,您的\x都是真的。这仅仅是使用&的正确逻辑。
https://stackoverflow.com/questions/25389190
复制相似问题