C# C使用“或”
我想在这里说,如果userinput=1或2显示消息,您赢得了一辆新车,但它不起作用 错误是 运算符| |不能应用于类型和字符串的操作数 我做C只有两天了C# C使用“或”,c#,C#,我想在这里说,如果userinput=1或2显示消息,您赢得了一辆新车,但它不起作用 错误是 运算符| |不能应用于类型和字符串的操作数 我做C只有两天了 namespace ConsoleApplication3 { class Program { static void Main(string[] args) { Console.WriteLine(" 1 2 or 3"); String mes
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(" 1 2 or 3");
String message = Console.ReadLine();
string userinput = "";
if (userinput == "1" || "2")
message = "you won a new car";
恐怕不行!使用:
if(userinput == "1" || userinput == "2")
原因是if语句期望的结果是true或false。使用布尔运算符| |,两边的计算结果必须为true或false。在这种情况下,如果userinput为1,userinput==1将计算为true,否则将为false。独立2的计算结果不是真或假,而是2。您的最后一行需要更改为:
if (userinput == "1" || userinput == "2")
message = "you won a new car";
由OR运算符分隔的语句的每个部分都需要能够计算为true或false。您需要
if(userinput == "1" || userinput == "2")
诀窍在于,or表示一个二进制条件或另一个必须为true才能为true。它是布尔逻辑,而不是英语或列表 随后,您可以执行以下操作:
message = userinput != 3 ? "you won a new car" : "you lost a new car"
这是一个条件运算符表达式。如果有多个值,也可以使用
例如,如果有10个值要使用或进行比较,则可以使用Array.IndexOf缩短代码
string[] array= new string[2];
array[0] = "1";
array[1] = "2";
if( Array.IndexOf(array, userInput) != -1) //-1 means it doesn't exist
{
message = "you won a new car";
}
很抱歉,我正在尝试重新格式化它,这样你们就可以阅读它了。这是一个很容易通过谷歌C if语句或。你会很安全的。