亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

發布時間:2021-07-16 01:39:05 來源:億速云 閱讀:138 作者:chen 欄目:編程語言

這篇文章主要介紹“如何利用Visual C#和C#語言特性”,在日常操作中,相信很多人在如何利用Visual C#和C#語言特性問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何利用Visual C#和C#語言特性”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Visual C#和C#語言特性

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

一、需求分析

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

二、數據結構與算法

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

struct codeInfo{  public long line; //儲存這個源程序的行數  public string ext; //這個文件的拓展名  public string filename; //文件名  public string fullname; //全路徑加文件名  //篇幅所限,省略了仿“構造函數”。  }

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

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

三、窗體設計

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

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

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

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

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

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

到此,關于“如何利用Visual C#和C#語言特性”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

芦山县| 松江区| 潞西市| 永清县| 临江市| 喀什市| 正安县| 原阳县| 衡水市| 重庆市| 桑植县| 东乡| 龙泉市| 隆林| 偃师市| 崇州市| 玛沁县| 榆树市| 平潭县| 城口县| 耒阳市| 理塘县| 新龙县| 九龙县| 内江市| 荣成市| 阿巴嘎旗| 法库县| 河西区| 平罗县| 丹凤县| 百色市| 漠河县| 资讯| 顺平县| 南充市| 怀宁县| 寻甸| 曲阜市| 阜宁县| 泾川县|