如何计算目录及其子目录中所有文件中的代码行数

时间:2017-05-30 05:23:44

标签: c# count lines-of-code

如何计算目录及其子目录中所有文件中的代码行数。例如。我有一个目录,其中有许多子目录,每个子目录都有很多文件,我想要计算在这些文件中写入了多少行代码。

我尝试了很多方法,但它给出了不同的结果。任何人都可以使用C#帮助我吗?

目录如下所示:

root
   |---view
   |       |--view1.js
   |       |--view2.js
   |---controller
   |            |--cont1.js
   |            |--cont2.js
   |----model
            |--model.js
            |--model.js

我想提供根路径,它返回所有文件的代码行总数。

1 个答案:

答案 0 :(得分:0)

 private static object GetFilesLineCount(string directory, string searchPattern = "*.*")
    {
        if (directory == null || !System.IO.Directory.Exists(directory))
        {
            return null;
        }


        var filesResults = System.IO.Directory.EnumerateFiles(directory, searchPattern, System.IO.SearchOption.AllDirectories)
                                        .Select(file => new
                                        {
                                            FilePath = file,
                                            TotalLines = System.IO.File.ReadLines(file).Count()
                                        }).ToList();
        return filesResults;
    }

返回类型对象我在.Select上使用匿名对象。