如何在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中的项目解决方案理念,我从未需要编译一个文件,在一个解决方案中编译一个项目通常就足够了