14

Visual Studio 2010 で LINQ クエリの結果を表示する方法はありますか? クエリをウォッチ式として追加すると、「式にラムダ式を含めることはできません」と表示されます。

いくつかのテスト コードでは、いくつかの子の一連のメトリックの合計を集計し、その合計を同じメトリック (深いネストされた if-else) の親の値と比較しています。すべてのクエリは if ステートメントにあります。結果をローカル変数に代入するだけでなく、これらの値を表示するにはどうすればよいですか? 代入は私の行数を 2 倍にし、ここでのデバッグ以外には何のメリットもありません。デバッガーで LINQ クエリの結果を表示するために使用する回避策はありますか?

4

4 に答える 4

14

現在、Visual Studio のウォッチ リストでラムダ式を使用することはできません。

あなたができることがいくつかあります:

  1. 目的のラムダを呼び出すメソッドを作成し、そのメソッド呼び出しをウォッチ ステートメントに入れます。

  2. 目的のラムダ式を変数に設定し、その変数の内容を確認します。これは式を通じて列挙され、副作用を引き起こす可能性があることに注意してください。

これはVSの機能要求のリストにあると思いますが、MSFTはまだそれを行っていません. それまでの間、これが役立つことを願っています。

編集:

グッドニュース!Visual Studio 2017 でラムダを評価できるようになりました。

于 2013-09-04T18:07:50.920 に答える
3

これがあなたの言いたいことかどうかはわかりませんが (誤解している可能性があります)、ローカル ウィンドウを見てクエリ変数の結果ビューを展開すると、LINQ クエリの結果を確認できます。 ここに画像の説明を入力

その中で、さらに展開して内部のデータを表示できます。 ここに画像の説明を入力

于 2013-09-04T18:33:04.210 に答える