为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不使用C#的情况下编写语句

如何在不使用C#的情况下编写语句

C#
qq_遁去的一_1 2021-05-07 11:11:29
我有一个(调试)需求*,可以编写以下单个语句: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));


查看完整回答
反对 回复 2021-05-29
?
萧十郎

TA贡献1815条经验 获得超13个赞

您可以将扩展方法称为静态方法:

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

但是,您无法Debug.WriteLineForEach调试器中的调用,但是调试器仍然会显示结果:

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


查看完整回答
反对 回复 2021-05-29
  • 2 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信