【发布时间】:2017-12-05 16:21:55
【问题描述】:
我不确定我是否重载了任何东西,但是当我将所有需要的条件添加到一个 if 语句时,它总是返回 true。它似乎总是显示我的错误消息,但是当我只添加一个条件时,它工作得很好。另外,我知道我的代码很乱,我只是一个新手,请放轻松。
Console.ForegroundColor = ConsoleColor.Green;
string[] Class = new string[] { "AA", "BB", "CC", "DD", "EE", "FF", "GG", "HH", "II", "JJ", "KK", "LL", "MM", "NN", "OO" };
double[] Rate = new double[] { .015, .023, .010, .042, .051, .004, .022, .030, .001, .010, .020, .030, .045, .033, .050 };
Console.Write("Please enter vehicle classification: ");
string Vclass = Console.ReadLine();
if (Vclass != "AA" || Vclass != "BB" || Vclass != "CC" || Vclass != "DD" || Vclass != "EE" || Vclass != "FF" || Vclass != "GG" || Vclass != "HH" || Vclass != "II" || Vclass != "JJ" || Vclass != "KK" || Vclass != "LL" || Vclass != "MM" || Vclass != "NN" || Vclass != "OO")
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("There is an error with the vehicle class.");
Console.ForegroundColor = ConsoleColor.Green;
}
【问题讨论】:
-
||是OR运算符。如果您输入AA,则输入AA != BB,这将进入if语句。 -
Vclass != "AA" || Vclass != "BB"始终为真,您需要使用&&(或! Class.Contains(Vclass))。 -
该值将始终不是其中至少一个。
-
我假设你想要像
if (!Class.Contains(VClass)) { ... }这样的东西,尽管这会区分大小写