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

Lambda表达式的代码覆盖共享

时间:2023-04-10 14:00:23 C#

Lambda表达式的代码覆盖我在我的代码中看到一个模式,其中lambda表达式未被覆盖在代码覆盖中,调试器逐步执行代码,并且没有条件块。publicCollectionModel(){列出语言=LanguageService.GetLanguages();this.LanguageListItems=languages.Select(s=>newSelectListItem{Text=s.Name,Value=s.LanguageCode,Selected=false}).//<--这显示为未涵盖AsEnumerable();这有点奇怪。有任何想法吗?我认为你的意思是调试器不会越过指定的行;那是对的吗?如果这是您的问题,那么答案是,至少在这种特殊情况下,您看到的是延迟执行。System.Linq.Enumerable提供的所有LINQ扩展方法都表现出这种行为:也就是说,lambda语句本身中的代码不会在您定义它的行上执行。代码只会在枚举结果对象后执行。在您发布的代码下方添加:foreach(varxinthis.LanguageListItems){varlocal=x;在这里您将看到调试器跳回您的lambda。以上就是《C#学习教程:Lambda表达式代码覆盖率》的全部内容。侵权请点击右侧联系管理员删除。如需转载请注明出处: