我有一個(調試)需求*,可以編寫以下單個語句:using System.Diagnostics;using System.Linq;// ...Enumerable.Range(0, 10).ToList().ForEach(x => Debug.WriteLine(x));但不使用usings,則類似于:System.Linq.Enumerable.Range(0, 10).ToList().ForEach(x => System.Diagnostics.Debug.WriteLine(x));但這無法編譯,因為ToList上下文是未知的:錯誤CS1061:“ IEnumerable”不包含“ ToList”的定義,并且找不到擴展方法“ ToList”接受類型為“ IEnumerable”的第一個參數(是否缺少使用指令或程序集引用?)我的問題是:如何為ToList()指定名稱空間上下文?*這是一個人為的例子。實際上,我需要一種在運行時,在調試器立即窗口中迭代數據/函數的方法,在某些情況下,執行可能不在System.Linq的上下文中。使用Visual Studio 2015
2 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
System.Linq.Enumerable.ToList(System.Linq.Enumerable.Range(0, 10)) .ForEach(x => System.Diagnostics.Debug.WriteLine(x));

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
您可以將擴展方法稱為靜態方法:
System.Linq.Enumerable.ToList(System.Linq.Enumerable.Range(0, 10)) .ForEach(x => System.Diagnostics.Debug.WriteLine(x));
但是,您無法Debug.WriteLine
從ForEach
調試器中的調用,但是調試器仍然會顯示結果:
System.Linq.Enumerable.ToList(System.Linq.Enumerable.Range(0, 10))
- 2 回答
- 0 關注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消