linq - 调试 IEnumerable<T>.Join() 的内部结构

标签 linq join extension-methods inner-join

如何调试 Join() 扩展方法的内部结构?

我不是在问如何调试/查看链式方法调用之间的内容。不要试图在这个例子中的点之间寻找:myThings.Where().Join();

相反,我想查看 Join() 方法用来发挥其作用的中间值或内部内部/外部序列。我有: myThings.Join( a bunch of lambdas ); 我的 keySelectors 似乎是为了返回正确的数据。但是我的 resultSelector 从未被调用,所以我想自己查看序列并进行调试。

我觉得有人会推荐 resharper(我没有 150 美元可以支付,所以请只提供免费的替代品)。

请回答问题:“我如何调试 Join() 的内部结构?”

最佳答案

要从概念上了解 Join 的实现方式,请查看 Jon Skeet 作为 EduLinq 一部分的重新实现:"Reimplementing LINQ to Objects: Part 19 - Join" .我会从这里开始,因为它可能会让您更深入地了解正在发生的事情,而不仅仅是盯着生成的代码。

如果您仍想使用免费工具反编译生成的代码,例如JustDecompile免费提供。

关于linq - 调试 IEnumerable<T>.Join() 的内部结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346782/

相关文章:

c# - 使用 EF 查询的最佳方式

c# - 如何对嵌套的 LINQ 提供的集合中的项目进行排序

linq - 如何使用 DataTable 中的 Linq 查找重复记录

泛型数组的快速扩展

c# - 是否可以组合 GroupBy 和 Select 以获得正确命名的键?

c# - 如何使用反射和 LINQ to Entities 来获取实体属性的值?

sql - 考虑可扩展性时,为什么连接不好?

mysql - 获取同一表中一列位于一组中的所有行(MySQL)

Mysql 选择唯一值

Typescript - 如何添加扩展方法