8

私は自分のコードまたはその一部をデバッグ/テストする必要があることがよくあります。

もちろん、1つの方法は、開発中のアプリケーションを実行するか、クラスライブラリを開発して小さなテストアプリケーションを作成することです。

もう1つの方法は、デバッグ目的で単体テストを作成し、VisualStudioで実行することです。

しかし、追加のコードを記述したくない場合(使い捨ての単体テストなど)、アプリケーション全体を起動したくない場合(起動してデバッグしたいコードに移動するのに時間がかかる)はどうなりますか?

Visual Stuioでコードのごく一部を実行してそれぞれC#コードを解釈する方法はありますか?

編集

LINQPadについて知っています。

Formしかし、実行中の外観や、コンポーネントがデータベースと通信できるかどうかなどを知りたい場合があります。したがって、LINQPadはそのような場合の私のニーズには合いません...

4

6 に答える 6

8

私は、c#コードのクイックテストにlinqpadhttp://www.linqpad.net/を使用しています。

于 2012-06-14T14:32:43.823 に答える
3

もう1つのオプションは、最新のRoslynコミュニティプレビューをダウンロードして、C#インタラクティブウィンドウで入手することです。これはプレリリースソフトウェアであるため、C#機能セット全体をサポートしていませんが、かなり近づいています。

于 2012-06-14T14:33:42.820 に答える
2

F#インタープリターを見てください。

小さなコードサンプルをテストするために定期的に使用しています。

次のようなコードがあるとします。

namespace ConsoleApplication5
{
    public class Test
    {
        public Int32 Sum(int a, int b)
        {
            return a + b;
        }
    }
    ...
}

F#インタラクティブウィンドウを起動し、アセンブリに参照を追加して、デバッグを開始します。

> #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
> 
于 2012-06-14T14:35:17.170 に答える
2

LINQPadをご覧ください。コードのスニペットを試すのに最適です。名前に惑わされないでください。C#/ F#プログラムと式をサポートしています。

于 2012-06-14T14:33:41.813 に答える
2

クイックテストのもう1つのオプションは、Scratchpad.csです。多くの場合、アイデアを試すためだけにコマンドラインプロジェクトを作成するよりも優れています。

于 2012-06-14T14:34:39.180 に答える
0

信じられないかもしれませんが、PowerShellは.NETFrameworkを使用しています。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#のコンソールです...そして誰もそれを知りません。

于 2018-08-22T21:55:22.837 に答える