foreach该程序可以查看指定目录下的 “.cs”类型文件的代码行数、注释行数、空行数、代码总行数。
using System;
using System.IO;
namespace CountCodeLines
{
#region
public class CK
{
static int codelineNum = 0;
static int commentarylineNum = 0;
static int branklineNum = 0;
static void CountCodeLines(string file)
{
FileStream stream = new FileStream(file, FileMode.Open);
StreamReader reader = new StreamReader(stream);
string line = reader.ReadLine();
while (line != null)
{
if (line.Trim() != "" && !(line.Trim().StartsWith(@"//")))
{
codelineNum++;
}
else if (line.Trim().StartsWith(@"//"))
{
commentarylineNum++;
}
else
{
branklineNum++;
}
line = reader.ReadLine();
}
reader.Close();
}
static void DirectoryCountCodeLines(string directory)
{
foreach (string file in Directory.GetFiles(directory, "*.cs" ))
{
CountCodeLines(file);
}
}
static void Main(string[] args)
{
Console.Write("输入要查询的目录地址:");
string str = Console.ReadLine();
DirectoryCountCodeLines(str);
Console.WriteLine("该目录下的cs文件的代码行数为{0}",codelineNum);
Console.WriteLine("该目录下的cs文件的注释行行数为{0}" ,commentarylineNum);
Console.WriteLine("该目录下的cs文件的空行行数为{0}" ,branklineNum);
Console.WriteLine("该目录下的cs文件代码总行数为{0}", codelineNum + commentarylineNum + branklineNum);
Console.Read();
}
}
}
#endregion