如何计算目录及其子目录中所有文件中的代码行数。例如。我有一个目录,其中有许多子目录,每个子目录都有很多文件,我想要计算在这些文件中写入了多少行代码。
我尝试了很多方法,但它给出了不同的结果。任何人都可以使用C#帮助我吗?
目录如下所示:
root
|---view
| |--view1.js
| |--view2.js
|---controller
| |--cont1.js
| |--cont2.js
|----model
|--model.js
|--model.js
我想提供根路径,它返回所有文件的代码行总数。
答案 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上使用匿名对象。