我正在编写控制台应用程序,但我遇到了麻烦。我的代码都没有显示在输出窗口中

时间:2016-02-28 00:22:57

标签: c#

唯一出现的是“按回车继续”。我试过切换调试设置,但没有任何工作。我的所有写字码都没有输出任何内容。语言是c#

        Console.WriteLine("enter the values of sales");

        int sales;
        int commission = new int();

        String value = Console.ReadLine();

        if (int.TryParse(value, out sales))



            if (sales < 100000)

                commission = 5;

            else if (sales >= 100000 && sales <= 250000)

                commission = 6;

            else if (sales >= 250000)

                commission = 7;

            else
            {

                Console.Write("sales");

                Console.WriteLine(sales);

                sum = sum + ((sales / 100) * (commission));

                i--;
                return;




            }

        else

        {
            Console.WriteLine("total of all commissions");

            Console.Write(sum);
            return;
            }
    }

3 个答案:

答案 0 :(得分:0)

Console.WriteLine等确实是向控制台窗口输出内容的正确方法,因此它们应该在执行时产生输出。

你不应该看到的是一条消息“按Enter键继续” - 因为这根本不在你发布的代码中,也不是控制台应用程序的默认行为。

这使我得出结论,你的代码根本没有被执行。您可以通过在代码开头设置断点来轻松测试,并查看是否达到该断点(Visual Studio将停止并等待您在到达断点时单击继续)。

你确定A)你实际上在编译&amp;从visual studio启动你的应用程序(不只是从资源管理器中打开一些.exe),以及B)你的代码放在你的应用程序的主要方法中?默认情况下,这将是......

class Program
{
    static void Main(string[] args)
    {
       // right in here!
    }
 }

答案 1 :(得分:0)

根据您的条件,您的代码永远不会到达Console.Write("sales"),因为您会在sales原因之前测试else的所有可能值。

答案 2 :(得分:0)

它只有两个地方有任何印刷,它是在:

  1. TryParse 工作:打印无效。
  2. TryParse 没有效果:打印正常。
  3. 我们可以检查并看到#{1}}上的#1打印完全取决于else值。

    当我们检查** else 之前的条件时,我们可以看到他们正在处理整个可能的数字范围。

    • (销售额&lt; 100000)
    • (销售额&gt; = 100000&amp;&amp; sales&lt; = 250000)
    • (sales&gt; = 250000)
    • 其他 - 永远无法联系到。

    因此,您应该重新考虑哪些操作何时进行,以及是否需要其他操作,如果确实需要,则应该重新考虑应该适用的范围。

    注意:您的处理时间是&#34; 250000&#34;第2和第3个条件,但因为第2个条件是第一个,它只适用于它,因此第3个条件是冗余sales并且应该被删除。 (或者移动第3个条件的相等。)