如何在 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))
我有(调试)需要*编写以下单个语句:
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))