C#程序員統(tǒng)計自己的代碼行數(shù)
很多程序員都以自己寫的代碼的行數(shù)作為自己程序員閱歷的一個標(biāo)志,如何統(tǒng)計呢,以下是具體內(nèi)容。
小編,已經(jīng)快學(xué)了兩年編程了。昨天突發(fā)奇想,想統(tǒng)計下這些年到底寫過多少行代碼,于是做了一個這個小程序來統(tǒng)計代碼行數(shù)。老規(guī)矩,先上圖。
比較慚愧,寫了兩年只有2萬多行。那我們還是進(jìn)入下一項吧。
界面搭建我也不說了,我就講一下思路和核心代碼,最后附上源代碼。Life_Programmer、Serch_Files。
思路:我們點擊刷新按鈕,他會彈出一個小窗口讓我們選擇要搜索的區(qū)域。這個原理在我的C#游戲進(jìn)程殺手的隨筆講過了,這里就不贅述了。
關(guān)于這個搜索小窗口,我覺得適用范圍很廣,我是把它做成了一個.dll文件引入到我們這個主程序的。這個小窗口我也會附上源碼在本篇隨筆。
那我們這次主要講講和上一次不一樣的地方。
既然我們把它這個小窗口封裝起來了,那么我們就要給予它最大的靈活性。目的:讓它搜索出我們想要的東西。
那么達(dá)成這個目的,我們需要明確兩點:
1)要搜索文件的名字。(或者說要搜索的字段)
2)要搜索文件的類型。(文件名,還是后綴名)
所以為了完成這兩點,我們需要將將要搜索的字段封裝在這個小窗體里,設(shè)置一個屬性對外提供訪問接口。
List<string> SerchName = new List<string>(); //要查找的字段
public List<string> SerchName1
{
get { return SerchName; }
set { SerchName = value; }
}
//設(shè)置查找文件類型
private int i;
public int I
{
get { return i; }
set { i = value; }
}
將這兩個字段封裝好,在我們的主窗體內(nèi)對其賦值即能提供其最大的靈活性。
那么接下來我們重點來聊聊子窗體中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)//創(chuàng)建一個List<FileInfo>類型的函數(shù)
{
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();
//當(dāng)前目錄文件或目錄不為空
if (file.Length != 0 || dirs.Length != 0)
{
foreach (FileInfo f in file)
{
switch (i)
{
case 0: if (extName == f.Name) //根據(jù)文件名匹配上
{
lst1.Add(f.Name);
} break;
case 1: if (extName == f.Extension) //根據(jù)后綴名匹配上
{
lst1.Add(f.FullName);
} break;
}
}
foreach (string d in dirs)
{
getdir(d, extName, i);//遞歸
}
}
}
catch
{
}
}
}
}
大家注意在24行遍歷文件夾列表時,我們會在盤符下面遍歷到一個零時文件夾,其中索引為0的值似乎是一個亂碼,其實不然這是我們盤符下的系統(tǒng)隱藏文件夾。大家可以不管它。
那最后我們來談?wù)勗趺窗岩粋€窗體封裝成dll文件,供其它項目引用。
1、生成dll文件
右鍵我們的項目名稱,點擊進(jìn)入屬性。
把輸出類型改為類庫,然后點擊生成解決方案。就會在本程序的Debug目錄下生成一個dll文件。
2、將dll引入目標(biāo)項目
把我們生成的dll文件先復(fù)制拷貝到目標(biāo)項目的debug目錄下。然后右擊引用,找到添加引用。
點擊瀏覽找到我們的dll文件。
再在我們的代碼中導(dǎo)入命名空間
然后就成功了。
試試:
ok,沒問題。
最后希望各位能再完善完善我們的搜索小功能。
以上就是關(guān)于統(tǒng)計自己寫了多少行代碼的一個方法,作為程序員,趕快統(tǒng)計一下吧。
上一篇:c# winform treelistview的使用(treegridview)實例詳解
欄 目:C#教程
下一篇:C#中使用Join與GroupJoin將兩個集合進(jìn)行關(guān)聯(lián)與分組
本文標(biāo)題:C#程序員統(tǒng)計自己的代碼行數(shù)
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5354.html
您可能感興趣的文章
- 01-1010個C#程序員經(jīng)常用到的實用代碼片段
- 01-10C#程序員最易犯的編程錯誤
- 01-10C#實現(xiàn)用戶自定義控件中嵌入自己的圖標(biāo)
- 01-10C#實現(xiàn)屬于自己的QQ截圖工具
- 01-10C# 繪制統(tǒng)計圖大全(柱狀圖, 折線圖, 扇形圖)
- 01-10為IObservable實現(xiàn)自己的運(yùn)算符(詳解)
- 01-10C#編程實現(xiàn)統(tǒng)計文件夾內(nèi)文件和隱藏文件的方法示例
- 01-10C#程序員應(yīng)該養(yǎng)成的程序性能優(yōu)化寫法
- 01-10C#設(shè)計模式之Mediator中介者模式解決程序員的七夕緣分問題示例
- 01-10利用Aspose.Cells和Excel模板導(dǎo)出統(tǒng)計數(shù)據(jù)


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實例總結(jié)
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 04-02jquery與jsp,用jquery
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10使用C語言求解撲克牌的順子及n個骰子