成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用Visual C#和C#語言特性

開發(fā) 后端
這里介紹利用Visual C#和C#語言特性,我們可以新建一個Form專門停放dataGridView。這樣就牽扯到了窗體間如何傳遞codeList集合的問題。提示大家可以用this仿“指針”進行傳遞。

Visual C#和C#語言特性

我們在招聘會上經(jīng)常看到這樣的要求:“熟練使用XX語言,有X萬行源碼經(jīng)驗”。確實,編碼行數(shù)在一定程度上反映了編程水平。那么,我們?nèi)绾螐臄?shù)以百計、千計的源程序中快速得知究竟有多少行呢?利用Visual C#和C#語言特性,我們可以輕松實現(xiàn)對多種類型的源代碼的行數(shù)的統(tǒng)計工作。

一、需求分析

程序需要用戶輸入要過濾的源程序的拓展名,選擇要統(tǒng)計的目錄。獲得信息后,程序需要遍歷指定目錄(及其子目錄)和目錄下的文件,這一過程可以用 System.IO.DirectoryInfo類來實現(xiàn)。對于符合過濾標準的文件,我們用StreamReader類來打開它們,每次讀取一行并計數(shù),直到EOF為止,于是便得到了文件的行數(shù)。

二、數(shù)據(jù)結構與算法

對于每個過濾到的文件,我們用一個結構來儲存其信息。

  1. struct codeInfo{  
  2. public long line; //儲存這個源程序的行數(shù)  
  3. public string ext; //這個文件的拓展名  
  4. public string filename; //文件名  
  5. public string fullname; //全路徑加文件名  
  6. //篇幅所限,省略了仿“構造函數(shù)”。  
  7. }  

對于用戶會輸入多少種拓展名,以及會有多少符合標準的文件,都是未知的。特別是對于每個文件都要動態(tài)構造一個codeInfo結構體,考慮到這些,我們用ArrayList來動態(tài)管理這些結構體。

在算法上面,采用遞歸來實現(xiàn)無窮級目錄遍歷這一功能。

三、窗體設計

啟動VisualStdio2005,新建一個基于C#的“Windows應用程序項目”。在自動創(chuàng)建的form1上添加如下控件:

控件類型及數(shù)量作用:
◆button兩個 點擊button1選擇文件夾,點擊button2開始統(tǒng)計
◆textBox一個 供輸入拓展名
◆label1五個 用于靜態(tài)提示的表示
◆listBox一個 顯示最終的分類統(tǒng)計結果
另外,如果想詳細的顯示每個統(tǒng)計的源文件的詳細情況,可以再添加dataGridView控件,利用它對每個文件的名稱、行數(shù)、路徑,進行詳細顯示。篇幅所限,本文略去所有控件的屬性設置,詳見源程序。

我們可以新建一個Form專門停放dataGridView(更好的顯示效果)。這樣就牽扯到了窗體間如何傳遞codeList集合的問題。提示大家可以用this仿“指針”進行傳遞。

本程序只有一個待統(tǒng)計目錄,有興趣的朋友可以考慮:如何設置多個待統(tǒng)計目錄(多一層foreach)。

另外,采用StreamReader獲取文件行數(shù)的方法再極端大的源碼樣本運行時會略顯慢,大家可以考慮采取其它優(yōu)化的辦法,比如:利用統(tǒng)計學原理找到一個常數(shù)(平均每行字符數(shù)),然后用文件長度處以這個數(shù)以得到行數(shù),當然,這樣會降低統(tǒng)計精度。

至此,我們已經(jīng)體驗了Visual C#和C#語言特性的強大功能并成功實現(xiàn)了這一軟件。本程序在Visual C# 2005 WindowsXP SP2下調(diào)試通過。

【編輯推薦】

  1. C#參數(shù)類型學習筆記
  2. 處理C#消息的方法
  3. C#重載LoadPostData方法
  4. 概述C#復合控件構建
  5. C# JavaScript函數(shù)使用
責任編輯:佚名 來源: 博客園
相關推薦

2009-08-13 17:04:09

C#語言C#程序

2016-10-13 13:33:41

反射特性c#

2009-08-31 14:45:07

Visual C# 3

2009-09-02 16:21:17

Visual BasiC#語言

2009-09-02 17:10:45

C#語言入門

2009-09-18 15:53:37

C# 3.0新語言特性

2009-09-18 09:59:39

C# CLR

2009-05-25 15:42:03

Visual StudC#

2009-08-10 16:47:45

Visual C#數(shù)據(jù)

2009-08-04 08:48:44

C#內(nèi)置特性

2009-08-27 16:11:03

C# delegateC# event

2009-08-18 16:31:19

Visual C#編寫

2009-08-20 11:03:34

Visual C#使用

2009-08-25 16:32:24

C#語言

2009-08-26 10:34:15

C#類型C#變量

2009-08-26 17:10:09

C# 3.5新特性

2009-08-26 16:01:37

C#特性

2009-08-07 10:53:59

Visual C#Excel

2009-08-24 09:25:18

Visual C# ..NET應用程序

2025-02-14 00:00:20

C#C/C++語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级特黄a大片 | 欧美三级在线 | 久久亚洲国产精品日日av夜夜 | 羞羞视频在线网站观看 | 夜久久 | 精品国产一区二区三区久久久久久 | 天堂中文资源在线 | 亚洲精品中文字幕在线观看 | 国产真实精品久久二三区 | 亚洲成人免费av | 人妖无码 | 久久亚洲一区二区 | 亚洲精品一二三区 | 毛片a级 | 国产精品久久久久久吹潮 | 一区二区三区精品视频 | 欧美1级| 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 亚洲黄色视屏 | 国产黄色大片 | 国产人久久人人人人爽 | 亚洲天堂免费 | 亚洲 中文 欧美 日韩 在线观看 | 日日摸夜夜添夜夜添特色大片 | 伊人久久伊人 | 亚洲精品乱码久久久久久蜜桃91 | 精品国产乱码久久久久久牛牛 | 国产精品99久久久久 | 午夜伦4480yy私人影院 | 欧美日韩国产三级 | 欧美日韩一区二区三区在线观看 | 最新国产精品 | 久久国产精品-久久精品 | 在线观看视频亚洲 | 在线播放国产一区二区三区 | 久久av在线播放 | 国产精品区一区二区三 | 亚洲三区在线观看 | 羞羞视频免费在线 | 国产成人福利视频 | 欧美日韩亚洲一区 |