Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq预处理器?_Linq - Fatal编程技术网

Linq预处理器?

Linq预处理器?,linq,Linq,我认为有一个linq预处理器会很有用,它可以将您的linq表达式预处理为常规c语句,如.Select.Group等。这对于学习linq中的幕后工作、学习linq或调试复杂的linq表达式都很有用。是否存在此类工具或设施?我在LinqPad中找不到它。Resharper可以将LINQ表达式转换为方法链。Resharper可以将LINQ表达式转换为方法链。您也可以尝试通过运行LINQ表达式,具体请参见投诉2。您也可以尝试通过,请参阅投诉2。要在LINQPad中使用此功能,请运行查询,然后单击结果窗口

我认为有一个linq预处理器会很有用,它可以将您的linq表达式预处理为常规c语句,如.Select.Group等。这对于学习linq中的幕后工作、学习linq或调试复杂的linq表达式都很有用。是否存在此类工具或设施?我在LinqPad中找不到它。

Resharper可以将LINQ表达式转换为方法链。

Resharper可以将LINQ表达式转换为方法链。

您也可以尝试通过运行LINQ表达式,具体请参见投诉2。

您也可以尝试通过,请参阅投诉2。

要在LINQPad中使用此功能,请运行查询,然后单击结果窗口上的lambda按钮。请注意,这仅适用于基于IQueryable的查询。这意味着对于本地查询,必须调用.AsQueryable:

from n in new[] { "Tom", "Dick", "Harry" }.AsQueryable()
where n.Contains ("a")
select n
对于具有多个生成器、联接或let语句的查询,从查询表达式到流畅语法的转换尤其有趣。例如:

var fullNames = new[] { "Anne Williams", "John Fred Smith", "Sue Green" }.AsQueryable();

IEnumerable<string> query =
  from fullName in fullNames
  from name in fullName.Split()
  orderby fullName, name
  select name + " came from " + fullName;

query.Dump();

要在LINQPad中使用此功能,请运行查询,然后单击结果窗口上的lambda按钮。请注意,这仅适用于基于IQueryable的查询。这意味着对于本地查询,必须调用.AsQueryable:

from n in new[] { "Tom", "Dick", "Harry" }.AsQueryable()
where n.Contains ("a")
select n
对于具有多个生成器、联接或let语句的查询,从查询表达式到流畅语法的转换尤其有趣。例如:

var fullNames = new[] { "Anne Williams", "John Fred Smith", "Sue Green" }.AsQueryable();

IEnumerable<string> query =
  from fullName in fullNames
  from name in fullName.Split()
  orderby fullName, name
  select name + " came from " + fullName;

query.Dump();