Jam*_*xon 24 c# debugging ienumerable
我有一个方法返回一个IEnumerable<T>
,我正在尝试调试该方法内的代码.
每次我在调试期间单步执行Visual Studio中的代码时,它都会跳过相关方法.
当我在方法中放置一个断点时,它永远不会被击中.代码肯定在运行,因为我已经通过yield return
方法中的假T来测试.
是不可能以这种方式调试IEnumerable方法,还是我做错了什么?
BFr*_*ree 51
当您使用IEnumerable中的项目时,该方法才会被触发.请记住,IEnumerable延迟加载项目,所以只是因为你正在调用返回IEnumerable的方法,并不意味着该方法实际上在那时被调用.如果您希望在调用它时将其命中,请在方法调用结束时添加ToList():
var result = myEnumerableMethod().ToList();
Run Code Online (Sandbox Code Playgroud)