C# IF语句不是';我不能按计划工作

C# IF语句不是';我不能按计划工作,c#,visual-studio-2010,C#,Visual Studio 2010,我有两个模块,带有if语句 下面是两段代码片段 int sum; int input; singleDigit(ref firstRandom, ref secondRandom); Console.Write("{0} + {1} = : ", firstRandom, secondRandom); input = Convert.ToInt16(Console.ReadLine()); sum = firs

我有两个模块,带有if语句

下面是两段代码片段

int sum;
        int input;

        singleDigit(ref firstRandom, ref secondRandom);

        Console.Write("{0} + {1} = : ", firstRandom, secondRandom);
        input = Convert.ToInt16(Console.ReadLine());

        sum = firstRandom + secondRandom;

        if (firstRandom + secondRandom == sum)
        {
            checkanswergradeoneaddition();
        }

        else
        {
            checkanswergradeoneadditionFalse();
        }`
这是后者所指的模块。请记住,我从9月2日起才开始学习编程课程

       static void checkanswergradeoneadditionFalse()
    {
        Random rnd = new Random();
        int responseTwo = rnd.Next(0, 3);

            switch (responseTwo)
            {
                case 1:
                    Console.WriteLine("Incorrect, mush!");
                    break;
                case 2:
                    Console.WriteLine("Wrong again, Einstein");
                    break;
                default:
                    Console.WriteLine("Default");
                    break;
            }
    }
它没有按预期工作。

看看这个:

    sum = firstRandom + secondRandom;

    if (firstRandom + secondRandom == sum)
    {
        checkanswergradeoneaddition();
    }
这毫无意义。如果sum被指定为A+B,那么A+B将始终==sum。“else”永远不会运行

也许应该是这样

if(input==sum)
看看这个:

    sum = firstRandom + secondRandom;

    if (firstRandom + secondRandom == sum)
    {
        checkanswergradeoneaddition();
    }
这毫无意义。如果sum被指定为A+B,那么A+B将始终==sum。“else”永远不会运行

也许应该是这样

if(input==sum)

我想我明白你的意思了。您的firs if语句将始终为true,因为它不会比较任何用户输入

int sum;
        int input;

        singleDigit(ref firstRandom, ref secondRandom);

        Console.Write("{0} + {1} = : ", firstRandom, secondRandom);
        input = Convert.ToInt16(Console.ReadLine());

        sum = firstRandom + secondRandom;

        if (firstRandom + secondRandom == sum)
        {
            checkanswergradeoneaddition();
        }

        else
        {
            checkanswergradeoneadditionFalse();
        }`
尝试将其更改为:

int sum;
        int input;

        singleDigit(ref firstRandom, ref secondRandom);

        Console.Write("{0} + {1} = : ", firstRandom, secondRandom);
        input = Convert.ToInt16(Console.ReadLine());

        sum = firstRandom + secondRandom;

        // Changed the first 'if' statement to compare the users input with the sum.
        if (input == sum)
        {
            checkanswergradeoneaddition();
        }

        else
        {
            checkanswergradeoneadditionFalse();
        }`

注意第一条if语句上面的注释。

我想我明白你想说的。您的firs if语句将始终为true,因为它不会比较任何用户输入

int sum;
        int input;

        singleDigit(ref firstRandom, ref secondRandom);

        Console.Write("{0} + {1} = : ", firstRandom, secondRandom);
        input = Convert.ToInt16(Console.ReadLine());

        sum = firstRandom + secondRandom;

        if (firstRandom + secondRandom == sum)
        {
            checkanswergradeoneaddition();
        }

        else
        {
            checkanswergradeoneadditionFalse();
        }`
尝试将其更改为:

int sum;
        int input;

        singleDigit(ref firstRandom, ref secondRandom);

        Console.Write("{0} + {1} = : ", firstRandom, secondRandom);
        input = Convert.ToInt16(Console.ReadLine());

        sum = firstRandom + secondRandom;

        // Changed the first 'if' statement to compare the users input with the sum.
        if (input == sum)
        {
            checkanswergradeoneaddition();
        }

        else
        {
            checkanswergradeoneadditionFalse();
        }`


注意第一条if语句上方的注释。

define
未按预期工作。。它应该如何工作?在您提供的代码示例中,我只能看到一个if语句。另一个在哪里?(1)您发布的代码中只有一个
if
语句。(2) 你没有说你的代码做什么,它应该做什么,以及为什么这些不同。请解释一下你想要实现什么,你的错误是什么?@Rayne,欢迎你这么做。但是如果你想得到积极的回答,你需要更有效地提出你的问题。有成千上万的人准备提供帮助,但只有在你了解游戏规则之后。祝你好运我对反对票感到惊讶-这个问题可能没有位置,但考虑到OP对SO来说是新的,编程似乎有点苛刻。define
没有按预期工作。。它应该如何工作?在您提供的代码示例中,我只能看到一个if语句。另一个在哪里?(1)您发布的代码中只有一个
if
语句。(2) 你没有说你的代码做什么,它应该做什么,以及为什么这些不同。请解释一下你想要实现什么,你的错误是什么?@Rayne,欢迎你这么做。但是如果你想得到积极的回答,你需要更有效地提出你的问题。有成千上万的人准备提供帮助,但只有在你了解游戏规则之后。祝你好运我对落选感到惊讶-这个问题可能没有位置,但考虑到OP对SO来说是新的,编程似乎有点苛刻。我想你在这里找到了一些东西。从控制台读取的输入从未被使用过,我有一种感觉,它应该在这里的总和的位置。感谢您的回答,帮助,我已经改变了代码,以解决问题使用建议张贴;它现在似乎起作用了。我只学习了近两个月,我的导师对他的教学方法不太清楚,他还说很多研究都要在家里进行。我在大学学习程序编程,第一年的课程。继续努力。编程将帮助您在几年内成为我们新的机器人霸主的朋友。另外,如果有帮助,请在答案上标出(绿色复选标记)。@RayneBlackham祝你学习顺利,StackOverflow将继续是你的一个好工具。请确保您的问题清晰且格式良好,您将得到一些很好的答案。事实证明,我必须实现数据验证,但是,我目前不知道包含此函数的语法,任何建议都将不胜感激,无论是《密码》还是一篇教我密码的文章,我想你已经了解了一些东西。从控制台读取的输入从未被使用过,我有一种感觉,它应该在这里的总和的位置。感谢您的回答,帮助,我已经改变了代码,以解决问题使用建议张贴;它现在似乎起作用了。我只学习了近两个月,我的导师对他的教学方法不太清楚,他还说很多研究都要在家里进行。我在大学学习程序编程,第一年的课程。继续努力。编程将帮助您在几年内成为我们新的机器人霸主的朋友。另外,如果有帮助,请在答案上标出(绿色复选标记)。@RayneBlackham祝你学习顺利,StackOverflow将继续是你的一个好工具。请确保您的问题清晰且格式良好,您将得到一些很好的答案。事实证明,我必须实现数据验证,但是,我目前不知道包含此函数的语法,任何建议都将不胜感激,无论是代码还是要阅读的文章,都教会了我代码。谢谢你给我比较,这样我才能清楚地看到问题。在未来的代码编写中,我会确定自己的格式,并明确自己的目标。我要感谢大家提出的建设性批评。我欢迎任何意见,无论是正面的还是负面的,因为我相信这将使我在未来成为一名更好的程序员。谢谢你给我比较,这样我可以清楚地看到问题。在未来的代码编写中,我会确定自己的格式,并明确自己的目标。我要感谢大家提出的建设性批评。我欢迎任何输入,无论是正面的还是负面的,因为我相信这将使我在未来成为一名更好的程序员。