我经常需要调试/测试我的代码或其中的一小部分。
一种方法当然是运行我正在开发的应用程序,或者在开发创建小型测试应用程序的类库时。
另一种方法是创建一个单元测试,仅用于调试目的,并在Visual Studio中运行它。
但是,如果我不想编写额外的代码(如一次性单元测试)并且我不想启动整个应用程序(需要一些时间来启动并导航到我想要调试的代码) ?
有没有办法在Visual Stuio中运行一小部分代码分别解释C#代码?
修改
我知道LINQPad。
但有时我想知道,例如Form
在运行时的样子或者组件是否能够与数据库通信。因此LINQPad在这些情况下不适合我的需求......
答案 0 :(得分:8)
我使用linqpad http://www.linqpad.net/来快速测试c#代码。
答案 1 :(得分:3)
另一种选择是下载最新的Roslyn community preview,并使用C# Interactive Window。它是预发布软件,因此它不支持整个C#功能集,但它已经非常接近。
答案 2 :(得分:2)
看看LINQPad。它非常适合尝试代码片段。不要被名字拖延,它支持C#/ F#程序和表达。
答案 3 :(得分:2)
快速测试的另一个选择是Scratchpad.cs。通常,它只是为了尝试一个想法而创建命令行项目。
答案 4 :(得分:2)
我经常使用它来测试小代码样本。
让我们说你有这样的代码:
namespace ConsoleApplication5
{
public class Test
{
public Int32 Sum(int a, int b)
{
return a + b;
}
}
...
}
启动F#Interactive窗口,为程序集添加引用,然后开始调试!
> #I @"C:\PathToYourProject\bin\debug";;
--> Added .... to library include path
> #r "ConsoleApplication5.exe";;
--> Referenced ...
> let t = ConsoleApplication5.Test();;
val t : ConsoleApplication5.Test
> t.Sum(9, 7);;
val it : int = 16
>
答案 5 :(得分:0)
无论您是否相信,PowerShell都使用.NET框架。您可以从PowerShell调用任何内置的C#类。
假设您正在尝试测试String.Substring
方法。
打开PowerShell
然后调用该函数,键入:
"some string".Substring(2,1) # returns 'm'
或者假设您要测试更复杂的内置类
foreach($line in [System.IO.File]::ReadLines("C:\path\to\file.txt"))
{
$line
}
[System.IO.File]
和说using System.IO.File;
PowerShell的美丽之处-它是C#的控制台 ...,而且没人知道。