2012-07-31 74 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()方法。