溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#程序員統計自己的代碼行數

發(fā)布時間:2020-10-23 01:28:51 來源:腳本之家 閱讀:205 作者:昆明--菜鳥入門 欄目:編程語言

很多程序員都以自己寫的代碼的行數作為自己程序員閱歷的一個標志,如何統計呢,以下是具體內容。

小編,已經快學了兩年編程了。昨天突發(fā)奇想,想統計下這些年到底寫過多少行代碼,于是做了一個這個小程序來統計代碼行數。老規(guī)矩,先上圖。

C#程序員統計自己的代碼行數

比較慚愧,寫了兩年只有2萬多行。那我們還是進入下一項吧。

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

思路:我們點擊刷新按鈕,他會彈出一個小窗口讓我們選擇要搜索的區(qū)域。這個原理在我的C#游戲進程殺手的隨筆講過了,這里就不贅述了。

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)//創(chuàng)建一個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的值似乎是一個亂碼,其實不然這是我們盤符下的系統隱藏文件夾。大家可以不管它。

C#程序員統計自己的代碼行數

那最后我們來談談怎么把一個窗體封裝成dll文件,供其它項目引用。

1、生成dll文件

右鍵我們的項目名稱,點擊進入屬性。

C#程序員統計自己的代碼行數

C#程序員統計自己的代碼行數

把輸出類型改為類庫,然后點擊生成解決方案。就會在本程序的Debug目錄下生成一個dll文件。

2、將dll引入目標項目

把我們生成的dll文件先復制拷貝到目標項目的debug目錄下。然后右擊引用,找到添加引用。

C#程序員統計自己的代碼行數

C#程序員統計自己的代碼行數

點擊瀏覽找到我們的dll文件。

再在我們的代碼中導入命名空間

C#程序員統計自己的代碼行數

然后就成功了。

試試:

C#程序員統計自己的代碼行數

ok,沒問題。

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

以上就是關于統計自己寫了多少行代碼的一個方法,作為程序員,趕快統計一下吧。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI