当前位置: 首页 > 编程语言 > C#

调试IEnumerable方法Share

时间:2023-04-10 14:38:50 C#

DebuggingIEnumerableMethods我有一个返回IEnumerable的方法,我正在尝试调试该方法中的代码。每次我在调试期间单步执行VisualStudio中的代码时,它都会跳过有问题的方法。当我在方法中放置断点时,它永远不会被击中。代码确实可以运行,因为我已经通过方法中的yieldreturnfakeT进行了测试。无法以这种方式调试IEnumerable方法,还是我做错了什么?该方法仅在您使用IEnumerable中的项目时触发。请记住,IEnumerable会延迟加载项目,因此仅仅因为您正在调用返回IEnumerable的方法并不意味着该方法实际上在那个时候被调用。如果你希望它在调用时命中,在方法调用的末尾添加ToList():varresult=myEnumerableMethod().ToList();调试IEnumerable实现应该没问题......可能你只是使用了错误的.dll(如果你的枚举器在外部库中)......你可以尝试一个简单的测试控制台并从这里开始我希望你会付出更多关注C#学习教程——classProgram{staticvoidMain(string[]args){foreach(StringfooinnewFoo()){Console.WriteLine(foo);}}}classFoo:IEnumerable{#regionIEnumerableMemberspublicIEnumeratorGetEnumerator(){yieldreturn"fake#1";}yieldreturn"fake#2";}#endregion#regionIEnumerable成员System.Collections.IEnumeratorSystem.Collections.IEnumerable.GetEnumerator(){returnGetEnumerator();}#endregion}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: