首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> C# >> 正文

数得明白-用C#制作源代码统计软件

   //下面按照文件名分类统计不同扩展名源程序的总行数

  foreach (string extcur in ext)

  {

   numcur = 0;

   linecur = 0;

   for (int i = 0; i < codeList.Count; i++)

   {

   codeInfo cur = (codeInfo)codeList[i];

   if (extcur == cur.ext)

   {
   numcur++; linecur += cur.line;

   }

   }

   lineall += linecur;

   listBox1.Items.Add(string.Format(" {0,-8}" + numcur + " 个文件 " + linecur + "行", extcur)); //统计完一种拓展名后向Listbox添加一行信息

   }

   listBox1.Items.Add(" 总计" + codeList.Count + "个文件 " + lineall + "行");

   }

   }

  在实现过程中,还牵扯到:对输入的拓展名进行分割、填充dataGridView的行/列以显示所有统计文件的详细信息等问题。篇幅限制,不做介绍,详见代码。

  五、提高篇

  我们可以新建一个Form专门停放dataGridView(更好的显示效果)。这样就牵扯到了窗体间如何传递codeList集合的问题。提示大家可以用this仿“指针”进行传递。

  本程序只有一个待统计目录,有兴趣的朋友可以考虑:如何设置多个待统计目录(多一层foreach)。

  另外,采用StreamReader获取文件行数的方法再极端大的源码样本运行时会略显慢,大家可以考虑采取其它优化的办法,比如:利用统计学原理找到一个常数(平均每行字符数),然后用文件长度处以这个数以得到行数,当然,这样会降低统计精度。

  至此,我们已经体验了Visual C# 2005的强大功能并成功实现了这一软件。本程序在Visual C# 2005 WindowsXP SP2下调试通过。

上一页  [1] [2] [3] 

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航