C#程序员统计自己的代码行数

 更新时间:2017年12月07日 08:39:28   作者:昆明--菜鸟入门  
这篇文章给大家讲解了下作为程序员如何统计自己写过的代码的行数,这个也是证明自己程序员能力的一个表现,一起来看下。

很多程序员都以自己写的代码的行数作为自己程序员阅历的一个标志,如何统计呢,以下是具体内容。

小编,已经快学了两年编程了。昨天突发奇想,想统计下这些年到底写过多少行代码,于是做了一个这个小程序来统计代码行数。老规矩,先上图。

比较惭愧,写了两年只有2万多行。那我们还是进入下一项吧。

界面搭建我也不说了,我就讲一下思路和核心代码,最后附上源代码。Life_Programmer、Serch_Files。

思路:我们点击刷新按钮,他会弹出一个小窗口让我们选择要搜索的区域。这个原理在我的C#游戏进程杀手的随笔讲过了,这里就不赘述了。

关于这个搜索小窗口,我觉得适用范围很广,我是把它做成了一个.dll文件引入到我们这个主程序的。这个小窗口我也会附上源码在本篇随笔。

那我们这次主要讲讲和上一次不一样的地方。

既然我们把它这个小窗口封装起来了,那么我们就要给予它最大的灵活性。目的:让它搜索出我们想要的东西。

那么达成这个目的,我们需要明确两点:

1)要搜索文件的名字。(或者说要搜索的字段)

2)要搜索文件的类型。(文件名,还是后缀名)

所以为了完成这两点,我们需要将将要搜索的字段封装在这个小窗体里,设置一个属性对外提供访问接口。

List<string> SerchName = new List<string>(); //要查找的字段
     public List<string> SerchName1
     {
       get { return SerchName; }
       set { SerchName = value; }
}
//设置查找文件类型
     private int i;
     public int I
     {
       get { return i; }
       set { i = value; }
}

将这两个字段封装好,在我们的主窗体内对其赋值即能提供其最大的灵活性。

那么接下来我们重点来聊聊子窗体中FinleFile类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Serch_File
{
   class FindFile
{
    public List<string> lst1 = new List<string>();
     public List<string> getFile(string path, string extName, int i)//创建一个List<FileInfo>类型的函数
    {
      getdir(path, extName, i);//传入路径、搜索的字段 、将要搜索的类型
      return lst1;
    }
     private void getdir(string path, string extName, int i)
     {
       try
       {
         //获取文件夹列表
         string[] dirs = Directory.GetDirectories(path);            DirectoryInfo fdir = new DirectoryInfo(path);
         FileInfo[] file = fdir.GetFiles();
         //当前目录文件或目录不为空
         if (file.Length != 0 || dirs.Length != 0)
         {
           foreach (FileInfo f in file)
           {
             switch (i)
            {
              case 0: if (extName == f.Name) //根据文件名匹配上
                {
                  lst1.Add(f.Name);
                 } break;
              case 1: if (extName == f.Extension) //根据后缀名匹配上
                 {
                   lst1.Add(f.FullName);
                 } break;
             }
           }
           foreach (string d in dirs)
           {
             getdir(d, extName, i);//递归  
           }
         }
       }
       catch
       {
 
       }
     }
   }
}

大家注意在24行遍历文件夹列表时,我们会在盘符下面遍历到一个零时文件夹,其中索引为0的值似乎是一个乱码,其实不然这是我们盘符下的系统隐藏文件夹。大家可以不管它。

那最后我们来谈谈怎么把一个窗体封装成dll文件,供其它项目引用。

1、生成dll文件

右键我们的项目名称,点击进入属性。

把输出类型改为类库,然后点击生成解决方案。就会在本程序的Debug目录下生成一个dll文件。

2、将dll引入目标项目

把我们生成的dll文件先复制拷贝到目标项目的debug目录下。然后右击引用,找到添加引用。

点击浏览找到我们的dll文件。

再在我们的代码中导入命名空间

然后就成功了。

试试:

ok,没问题。

最后希望各位能再完善完善我们的搜索小功能。

以上就是关于统计自己写了多少行代码的一个方法,作为程序员,赶快统计一下吧。

相关文章

  • C#中StringBuilder类的使用总结

    C#中StringBuilder类的使用总结

    本篇文章主要是对C#中StringBuilder类的使用方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • C# menuStrip控件实现鼠标滑过自动弹出功能

    C# menuStrip控件实现鼠标滑过自动弹出功能

    MenuStrip 控件是 Visual Studio 和 .NET Framework 中的功能。使用该控件,可以轻松创建 Microsoft Office 中那样的菜单。本文给大家分享menuStrip鼠标滑过自动弹出效果
    2021-07-07
  • C#创建Windows服务的图文教程

    C#创建Windows服务的图文教程

    本文主要介绍了C#创建Windows服务的图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • C#实现按数据库邮件列表发送邮件的方法

    C#实现按数据库邮件列表发送邮件的方法

    这篇文章主要介绍了C#实现按数据库邮件列表发送邮件的方法,涉及C#读取数据库及通过自定义函数发送邮件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 下载软件后使用c#获取文件的md5码示例

    下载软件后使用c#获取文件的md5码示例

    这篇文章主要介绍了下载软件后使用c#获取文件的md5码示例,需要的朋友可以参考下
    2014-05-05
  • DirectInfo.GetFiles返回数组的默认排序示例

    DirectInfo.GetFiles返回数组的默认排序示例

    这篇文章主要介绍了,DirectInfo.GetFiles返回数组的默认排序示例NTFS和CDFS下,是按照字母顺序,而FAT下,按照文件创建时间顺序
    2014-01-01
  • C#基于TCP实现简单游戏客户端的完整实例

    C#基于TCP实现简单游戏客户端的完整实例

    这篇文章主要给大家介绍了关于C#基于TCP实现简单游戏客户端的相关资料,通过本文介绍的方法可以直接实现游戏客户端,是个非常适合学习的实例需要的朋友可以参考下
    2021-11-11
  • C#后台调用前台JS函数方法

    C#后台调用前台JS函数方法

    今天小编就为大家分享一篇关于C#后台调用前台JS函数方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • C#迭代器方法介绍

    C#迭代器方法介绍

    这篇文章主要介绍了C#迭代器方法,可以使用foreach循环语句进行的迭代的方法,称为可迭代方法,或者迭代器方法,方法操作,想了解更多内容得小伙伴可以学习下面文章内容,希望给你的学习带来帮助
    2022-03-03
  • Unity 实现贴花效果的制作教程

    Unity 实现贴花效果的制作教程

    有些游戏中的战斗痕迹的效果会通过贴花来实现的,贴花的方式多种多样。而在Unity中,有一种给官方文档提供代码的解决方案。本文将这些代码的基础上做一个绘图的贴花效果,感兴趣的童鞋可以参考一下
    2021-11-11

最新评论