2012-07-31 73 views
0

我从Java到C#这些天,并使用Visual C#2010 express。寻找一种简单的方法来编写和测试一些代码,在视觉c#

有时我想编写和测试一些简单的代码,但是我发现它并不像Eclipse中那么容易:在任何java文件中编写main方法,然后运行它。

在VC#中,当我在.cs文件中添加Main方法时,它会注意到此项目中有两个Main条目。我必须在运行之前重命名另一个,并且稍后必须重新命名。

有没有简单的方法来做到这一点?

+0

这一切都取决于您正在处理的项目*类型。您可以在解决方案上始终拥有一个“控制台应用程序”项目,因此您可以将其用作代码的“调试器”。 – 2012-07-31 08:11:18

回答

1

Visual Studio适用于大型项目。如果你只是想测试一些代码,那么我会把它放在应用程序的主要方法中,或者忘记VS并通过代码暂存器运行它。

最好的C#代码暂存器外面有LINQPad

当然,如果你测试了很多,你可能需要存根出该代码有任何相关性。如果不知道代码范围或项目类型,很难说。

+0

LINQPad很好,非常感谢 – Freewind 2012-08-01 06:00:40

1

正如@亚历山大R说,LINQPad是一个伟大的工具。我将它广泛用于小片段,比如测试我发布到Stack Overflow的答案。

如果我必须能够在我当前的项目中调用其他代码,我将一个单元测试项目添加到我的解决方案。当我想测试某些东西时,我使用新的测试方法编写代码,然后使用Ctrl + R,Ctrl + T快捷键运行当前选定的测试方法。

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和代码片段编译器也是可行的选项。

您也可以简单地创建一个.cs文件并在命令行上进行编译。例如,把这个代码在一个文件名为hello.cs中

using System; 

public class Program { 
    public static void Main() { 
     Console.WriteLine("Hello World"); 
    } 
} 

然后在命令行上,编译csc hello.cs

=>这产生用hello.exe然后可以运行。

0

在VC#中,当我在.cs文件中添加一个Main方法时,它会注意到这个项目中有两个Main条目。

然后不要再添加main方法。当您创建控制台或WinForms应用程序时,Program.cs文件将包含一个主要方法。如果你想测试一些东西,比如你写的类,只需在现有的main方法中实例化这个类即可。

0

作为解决方案,为什么不将 public testXXXX()方法添加到要测试的每个类中,然后使用1个主要方法调用这些testXXXX()方法。