我有一个(调试)需求*,可以编写以下单个语句: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 回答
![?](http://img1.sycdn.imooc.com/5458692c00014e9b02200220-100-100.jpg)
哈士奇WWW
TA贡献1799条经验 获得超6个赞
System.Linq.Enumerable.ToList(System.Linq.Enumerable.Range(0, 10)) .ForEach(x => System.Diagnostics.Debug.WriteLine(x));
![?](http://img1.sycdn.imooc.com/54584f6d0001759002200220-100-100.jpg)
萧十郎
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 关注
- 119 浏览
添加回答
举报
0/150
提交
取消