如何在 C# 中不使用 using 编写语句

How to write a statement without using using in C#

我有(调试)需要*编写以下单个语句:

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' 的定义,并且找不到接受类型 'IEnumerable' 的第一个参数的扩展方法 'ToList'(您是否缺少 using 指令或汇编参考?)

我的问题是:如何为 ToList() 指定命名空间上下文?

*这是一个人为的例子。实际上,我需要一种在运行时迭代 data/functions 的方法,在调试器中立即 window,并且在某些情况下,执行可能不在 System.Linq.

的上下文中

使用 Visual Studio 2015

System.Linq.Enumerable.ToList(System.Linq.Enumerable.Range(0, 10))
    .ForEach(x => System.Diagnostics.Debug.WriteLine(x));

您可以将扩展方法作为静态方法调用:

System.Linq.Enumerable.ToList(System.Linq.Enumerable.Range(0, 10))
                      .ForEach(x => System.Diagnostics.Debug.WriteLine(x));

但是,您不能在调试器中从 ForEach 调用 Debug.WriteLine,但调试器无论如何都会显示结果:

System.Linq.Enumerable.ToList(System.Linq.Enumerable.Range(0, 10))