C#If….Else语句忽略条件

C#If….Else语句忽略条件,c#,if-statement,C#,If Statement,出于某种原因,它忽略了条件,无论我键入什么值V,它仍然要求我输入y的值。 Ps:我是一个初学者,显然,我到处搜索了为什么会发生这种情况,但我找不到任何答案,我希望有人能帮我解决这个问题。请使用| |而不是&&因为变量V不能同时具有所有这些值(V=“+”&&V=“-”&&V=“*”&&V=“/”&&V=“%” 尝试以下链接,它正在工作 您使用的是“and”(&&&)运算符,这意味着您的V变量必须同时是“+”和“-”以及“*”。您应该将比较改为“或”运算符(| |)或imho更好的做法是,创建一个

出于某种原因,它忽略了条件,无论我键入什么值V,它仍然要求我输入y的值。
Ps:我是一个初学者,显然,我到处搜索了为什么会发生这种情况,但我找不到任何答案,我希望有人能帮我解决这个问题。

请使用| |而不是&&因为变量V不能同时具有所有这些值(V=“+”&&V=“-”&&V=“*”&&V=“/”&&V=“%”

尝试以下链接,它正在工作


您使用的是“and”(&&&)运算符,这意味着您的V变量必须同时是“+”和“-”以及“*”。您应该将比较改为“或”运算符(| |)或imho更好的做法是,创建一个运算符集合,然后您可以编写如下内容:if(operators.Contains(v))…即使您输入了任何有效输入,也会提示您输入有效的运算符,因为根据您的情况,
V
不可能是所有有效输入。它只能是
+
-
*
/
%
,而不能是
+
-
*
/
。大声读出你的if条件。如果
V
'+'
V
'-'
等等,你能想到
V
的任何值可以同时是所有这些值吗?使用
|
而不是
&
粘贴当前代码,它运行良好,正如我所期望的那样。请注意,通过从&&to | |编辑问题,您使问题无效。“这不是一个好习惯。”埃里克。这是对的。用这样的编辑更改问题是如此严重地违反了社区标准,我已经将问题回滚到您的原始版本。请不要再改变那个部分。如果你修复了导致问题的代码,问题就完全不同了。我只是这么做了,但我仍然面临同样的问题。请尝试小v而不是大写v更改变量的大小写在这里不会改变任何东西。类型转换可以工作吗?类型转换到什么?
Console.WriteLine("What type of calculation do you want to perform? (+, -, *, /, %)");
        V = Console.ReadLine();

        if (V == "+" && V == "-" && V == "*" && V == "/" && V == "%")
        {
            Console.WriteLine("Enter the value of y");
            y = Convert.ToInt32(Console.ReadLine());
        }
        else
        {
            Console.WriteLine("Enter a valid operator type");
        }
    string V;
    int y;