Dot-Net

為什麼“對 lambda 表達式的評估在調試器中無效”?

  • November 13, 2014

我有一個看似無辜的程式碼片段,我在 Visual Studio 2008 Immediate Window中輸入了它。

? results.Join(lstDocs, Function(docID) docID)
Evaluation of lambda expressions is not valid in the debugger.

如消息所述,無法在調試器中呼叫 lambda 表達式。

為什麼不允許?

這裡:為什麼調試器視窗中沒有 LINQ?

還有這個之前的問題:VS 調試“快速觀察”工具和 lambda 表達式

簡而言之,複雜性。

http://msdn.microsoft.com/en-us/library/bb763138.aspx

這是設計上不可能的。Lambda 表達式需要在即時視窗中動態生成程式碼。調試器和/或評估器無法處理此問題。如果您真的想知道原因,請詢問 VS 的開發人員。也許這是某個時候即將推出的功能。Lambda 表達式是一個非常有趣的新特性

引用自:https://stackoverflow.com/questions/1907983