我是靠谱客的博主 火星上草莓,最近开发中收集的这篇文章主要介绍c#统计代码行数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.IO;
 7 namespace Serch_File
 8 {
 9
class FindFile
10 
{
11
12
public List<string> lst1 = new List<string>();
13
public List<string> getFile(string path, string extName, int i)//创建一个List<FileInfo>类型的函数 
14 
{
15
getdir(path, extName, i);//传入路径、搜索的字段 、将要搜索的类型
16
return lst1;
17 
}
18
19
private void getdir(string path, string extName, int i)
20 
{
21
try
22 
{
23
//获取文件夹列表
24
string[] dirs = Directory.GetDirectories(path);
            DirectoryInfo fdir = new DirectoryInfo(path); 25 FileInfo[] file = fdir.GetFiles(); 26 //当前目录文件或目录不为空 27 if (file.Length != 0 || dirs.Length != 0) 28 { 29 foreach (FileInfo f in file) 30 { 31 switch (i) 32 { 33 case 0: if (extName == f.Name) //根据文件名匹配上 34 { 35 lst1.Add(f.Name); 36 } break; 37 case 1: if (extName == f.Extension) //根据后缀名匹配上 38 { 39 lst1.Add(f.FullName); 40 } break; 41 } 42 } 43 foreach (string d in dirs) 44 { 45 getdir(d, extName, i);//递归    46 } 47 } 48 } 49 catch 50 { 51 52 } 53 } 54 55 } 56 }

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

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

1、生成dll文件

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

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

2、将dll引入目标项目

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

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

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

然后就成功了。

试试:

ok,没问题。

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

 

转载于:https://www.cnblogs.com/kunming97/p/7979235.html

最后

以上就是火星上草莓为你收集整理的c#统计代码行数的全部内容,希望文章能够帮你解决c#统计代码行数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部