如何在C#中获取用户的输入?

如何在C#中获取用户的输入?,c#,methods,input,console-application,user-input,C#,Methods,Input,Console Application,User Input,我有以下程序 using System; public class myeventhandler { private int x; private int y; public myeventhandler(int a, int b) { x = a; y = b; } public myeventhandler() { } public int add() {

我有以下程序

using System;    
public class myeventhandler
{
    private int x;
    private int y;

    public myeventhandler(int a, int b)
    {
        x = a;
        y = b;
    }

    public myeventhandler()
    { 
    }

    public int add()
    {
        return x + y; 
    }

    public int sub()
    {
        return x - y;
    }

}

public class test
{
    public static void Main()
    {
        int a, b;

        Console.WriteLine("enter the first number");
        a = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("enetr the second no");
        b = Convert.ToInt32(Console.ReadLine());
        myeventhandler mh = new myeventhandler(a,b);
        int z = mh.add();
        Console.WriteLine("you enetered {0} and {1} whose sum is {}", a, b,z);
        Console.ReadKey();
        //Console.WriteLine("the sum of {0} and {1} is {2}", a, b, mh.add());
        //Console.ReadKey();         
    }
}
当我运行这个程序时,它在接受两个输入后停止工作。我找不到这里出了什么问题

如代码所示,我相信从user获取的值首先转换为int,然后保存到变量a


如果是这样,那么问题出在哪里?

您可能会遇到
格式异常
,因为“{}”不是可识别的格式。将该行代码更改为

Console.WriteLine("you enetered {0} and {1} whose sum is {2}", a, b,z);

当你说它停止工作时,你应该很好,你是说应用程序关闭并退出,还是只是挂在那里

找出问题所在的最佳方法是调试代码。假设您使用的是Visual Studio(任何版本),您可以将光标放在第二个打印行(输入第二个编号),然后按F9键或在页边空白处单击鼠标左键以显示红点。这是一个断点,当程序到达该断点时,调试器将暂停。现在按F5启动带有调试器的程序,很快就会遇到断点

从底部的调试窗口中,您可以看到局部变量,也可以添加任何您想要查看的变量。使用F10和F11,您可以跨过代码行并分别跨入方法。通过这样做,您可以验证a和b是您所认为的。此外,如果由于无法分析从控制台输入的值而引发异常,VisualStudio将告诉您问题所在。这通常会帮助您修复代码


一旦你对编码有了更多的了解,你肯定会想研究单元测试和可能的测试驱动开发(TDD),这样你就可以确保你的代码在一系列条件下按预期运行。

什么是“停止工作”呢?更具体一点。我错了,我漏掉了{}中的数字。@user35,别忘了标记danielad或Leo作为答案,以帮助以后发现此问题的任何其他用户on@Dylan完成。感谢您的关注。我可以看到断点,但f5不起作用。实际上,我不知道如何在vs10中编译单个.cs文件。我现在做的是在vs10中编码,保存在文件夹中,通过命令提示符编译,并运行生成的.exc文件。@user35 lol有没有不太明显的原因让你拥有像vs10这样强大的IDE,而你更喜欢使用命令提示符编译?@Leo是的,这太明显了,但是我似乎找不到任何方法来编译一个单独的独立的.cs文件。我只知道编译项目中的.cs文件。@Leo看到这个链接,它说在vs:@user35中编译单个文件是不可能的,我从来没有提到过这是可能的……只是用例太少了,我不记得我最后一次需要编译单个文件是什么时候了。主要是由于VS中的项目解决方案理念,我从未需要编译一个文件,在一个解决方案中编译一个项目通常就足够了