【发布时间】:2018-10-28 04:21:26
【问题描述】:
我一直在四处寻找,但无法得到令我信服的答案。直到最近我还认为代码行数只取决于完整的代码行,我的意思是,每一行代码都有一个真正的目的,这或多或少是MSDN 所说的计数基于 IL 代码;但后来我遇到了这样的情况......
public static System.Collections.Generic.IEnumerable<string> Test(System.Collections.Generic.IList<string> values)
{
var listX = values.Where(x => !string.IsNullOrEmpty(x)).Select(y => y).Where(w => w.StartsWith("x"));
return listX;
}
...代码行的计数器计算 6 个不同的行。有人能告诉我到底发生了什么吗,IL 是如何解释 linq 查询的,因为它在一行代码中生成了 3 行不同的行;甚至更多我如何解释使用 linq 会破坏每个方法的行数规则? 谢谢
【问题讨论】:
标签: c# visual-studio linq cil code-metrics