我现在从Java到C#,并使用Visual C#2010 express。
有时我想编写和测试一些简单的代码,但我发现它并不像在Eclipse中那么容易:在任何java文件中编写main
方法,并运行它。
在VC#中,当我在.cs文件中添加Main
方法时,它会注意到此项目中有两个Main
条目。我必须在运行之前重命名另一个,并且必须稍后重命名。
有一种简单的方法吗?
答案 0 :(得分:1)
Visual Studio适用于大型项目。如果你只想测试一些代码,那么我要么把它粘在应用程序的main方法中,要么忘记VS并通过代码暂存器运行它。
最好的C#代码暂存器有LINQPad
当然,如果你经常测试,你可能需要删除代码所依赖的任何依赖项。如果不知道代码的范围或项目的类型,很难说。
答案 1 :(得分:1)
正如@Alexander R所说,LINQPad是一个很棒的工具。我将其广泛用于小片段,例如测试我发布到Stack Overflow的答案。
如果我必须能够在当前项目中调用其他代码,我会在我的解决方案中添加一个单元测试项目。当我想测试一些东西时,我用新的测试方法编写代码然后使用Ctrl + R,Ctrl + T快捷键来运行当前选择的测试方法。
答案 2 :(得分:1)
单声道编译器包含REPL实用程序(http://www.mono-project.com/CsharpRepl)。在C#/ Visual Studio的未来版本中应该包含类似的东西(参见Roslyn project的最新CTP)。
另一种可能性是'test driven .Net'实用程序,但这不适用于Visual Studio express。它(a.o.)允许您直接从visual studio中运行任何方法。
LINQPad和Snippet Compiler也是可行的选择。
您也可以简单地创建.cs文件并在命令行上编译它。例如,将此代码放在名为hello.cs
的文件中using System;
public class Program {
public static void Main() {
Console.WriteLine("Hello World");
}
}
然后在命令行中使用csc hello.cs
=>这会创建hello.exe,然后您可以运行它。
答案 3 :(得分:0)
在VC#中,当我在.cs文件中添加一个Main方法时,它会注意到这个项目中有两个Main条目。
然后不要添加另一个main
方法。当您创建Console或WinForms应用程序时,Program.cs文件将包含一个main方法。如果你想测试一些东西,例如你编写的类,只需在现有的main方法中实例化该类。
答案 4 :(得分:0)
作为解决方案,为什么不添加 公共testXXXX()方法到你想要测试的每个类,然后有一个主要方法,你可以调用那些testXXXX()方法。