第 17 章 泛型類別與.NET Framework 17-1.NET Framework 類別函式庫 17-1.NET Framework 類別函式庫 17-2 使用.NET FCL 的類別 17-2 使用.NET FCL 的類別 17-3 My 名稱空間的類別 17-3 My 名稱空間的類別 17-4.

Slides:



Advertisements
Similar presentations
FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Advertisements

1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
Divide-and-Conquer. 什麼是 divide-and-conquer ? Divide 就是把問題分割 Conquer 則是把答案結合起來.
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
第 10 章 Java 的執行緒 10-1 執行緒的基礎 10-2 Java 執行緒的使用方法 10-3 Java 執行緒的同步 10-4 管道串流的執行緒.
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
“Rule” By OX. By Check CREATE TABLE 員工薪資 ( 編號 int IDENTITY PRIMARY KEY, 薪資 smallmoney, CHECK ( 薪資 > 0 AND 薪資
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
第 15 章 建立網路應用程式 15-1 瀏覽程式的建立 15-1 瀏覽程式的建立 15-2 媒體播放程式 15-2 媒體播放程式 15-3 寄送電子郵件 15-3 寄送電子郵件 15-4 檢查 POP 3 的電子郵件 15-4 檢查 POP 3 的電子郵件.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
: ShellSort ★★☆☆☆ 題組: Problem D 題號: 10152: ShellSort 解題者:林一帆 解題日期: 2006 年 4 月 10 日 題意:烏龜王國的烏龜總是一隻一隻疊在一起。唯一改變烏龜位置 的方法為:一隻烏龜爬出他原來的位置,然後往上爬到最上方。給 你一堆烏龜原來排列的順序,以及我們想要的烏龜的排列順序,你.
1.1 電腦的特性 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
JAVA 程式設計與資料結構 第十四章 Linked List. Introduction Linked List 的結構就是將物件排成一列, 有點像是 Array ,但是我們卻無法直接經 由 index 得到其中的物件 在 Linked List 中,每一個點我們稱之為 node ,第一個 node.
各種線上電子資源的特異功能 STICnet 的 SDI 專題訂閱服務 2003/4/28 修改. 無論校內外皆可使用。連線至
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
第 7 章 程序與函數 7-1 模組化程式設計 7-1 模組化程式設計 7-2 VB.NET 的程序與函數 7-2 VB.NET 的程序與函數 7-3 程序與函數的變數範圍 7-3 程序與函數的變數範圍 7-4 VB.NET 常用的內建函數 7-4 VB.NET 常用的內建函數 7-5 遞迴函數 7-5.
第 15 章 VB.NET 網路應用程式 15-1 瀏覽程式的建立 15-1 瀏覽程式的建立 15-2 媒體播放程式 15-2 媒體播放程式 15-3 寄送電子郵件 15-3 寄送電子郵件 15-4 檢查電子郵件 POP 檢查電子郵件 POP 3.
Introduction to Java Programming Lecture 5: Using Java Classes : String & Math Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
第 9 章 視窗應用程式的事件處理 9-1 事件的基礎 9-1 事件的基礎 9-2 表單事件 9-2 表單事件 9-3 滑鼠事件 9-3 滑鼠事件 9-4 鍵盤事件 9-4 鍵盤事件 9-5 表單的鍵盤事件 9-5 表單的鍵盤事件 9-6 控制項的事件 9-6 控制項的事件.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出與繼續迴圈 6-5 跳出與繼續迴圈 6-6 錯誤處理 6-6 錯誤處理.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
第12章 建立多表單與模組的應用程式 12-1 Visual Basic的方案與專案 12-2 模組化Visual Basic應用程式
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
1 MySQL 資料庫的使用 網頁資料庫的基礎 網頁資料庫的基礎 下載與安裝 MySQL 下載與安裝 MySQL 啟動 MySQL 伺服器 啟動 MySQL 伺服器 Web 介面的 MySQL 管理程式 Web 介面的 MySQL 管理程式 MySQL 建立資料庫 MySQL 建立資料庫 在 MySQL.
1 Netlibrary 電子書 Netlibrary 創始於 1998 年,是世界知名的電子書資 料庫,提供 450 多家出版社所出版近 100,962 ( 止)本的電子書,且以每月 2,000 本的 速度增加中。其中 80% 屬於學術性圖書,其餘 20% 一般圖書, 90% 以上為.
第 10 章 視窗應用程式的工具列與 功能表 10-1 主功能表控制項 10-1 主功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
Chapter 17 Windows API 程式入門 VC++ 與 WindowsVC++ 與 Windows 建構遊戲設計的舞台 建構遊戲設計的舞台.
第 13 章 檔案與資料夾處理 13-1 檔案與資料夾操作 13-1 檔案與資料夾操作 13-2 循序檔案的文字檔案讀寫 13-2 循序檔案的文字檔案讀寫 13-3 隨機檔案的處理 13-3 隨機檔案的處理 13-4 二進位檔案的讀寫 13-4 二進位檔案的讀寫 13-5 檔案對話方塊 13-5 檔案對話方塊.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
4 堆疊與佇列 4.1 前言 四種基本的資料結構 (可儲存資料的容器) 陣列 (Array)、串列(List): 最基本
Management Abstracts Retrieval System; MARS 檢索操作.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
校園網頁整合平台介紹 電算中心綜合業務組. 大綱 設計理念 功能介紹 實做 FAQ 特殊案例 Q&A.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Linguistics phonetic symbols. 先下載 IPA 字型檔案,執行安裝。 由於這個程式的字型目錄設定錯誤, 所以等重新開機時就會發現字型消失。 所以必須根據以下步驟來讓 Windows 加入 IPA 字型。
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Chapter 10 m-way 搜尋樹與B-Tree
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
概念性產品企劃書 呂學儒 李政翰.
第 10 章 視窗應用程式的工具列與 功能表 10-1 功能表控制項 10-1 功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
第 4 章 視窗應用程式表單的基本 輸出入 4-1 VB.NET 的物件觀念 4-1 VB.NET 的物件觀念 4-2 表單類別 4-2 表單類別 4-3 按鈕控制項 4-3 按鈕控制項 4-4 輸出資料的標籤控制項 4-4 輸出資料的標籤控制項 4-5 輸入資料的文字方塊控制項 4-5 輸入資料的文字方塊控制項.
INFORMATION RETRIEVAL AND EXTRACTION 作業: Program 1 第十四組 組員:林永峰、洪承雄、謝宗憲.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出迴圈 6-5 跳出迴圈 6-6 VB.NET 的錯誤處理 6-6 VB.NET.
著作權所有 © 旗標出版股份有限公司 第 3 章 資料庫物件的關係. 本章提要 Access 資料庫物件的關係 Access 資料庫物件的關係 簡介 Access 的七大物件 簡介 Access 的七大物件 Access 的群組 Access 的群組.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
Visual C++重點複習.
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
Microsoft Excel.
第8章 字串與陣列 8-1一維陣列的處理 8-2 字串處理 8-3 多維陣列的處理 8-4 動態陣列與參數傳遞 8-5 陣列排序與搜尋.
Introduction to Java Programming Lecture 16 Super and Sub Classes.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
VHDL語法(3).
Presentation transcript:

第 17 章 泛型類別與.NET Framework 17-1.NET Framework 類別函式庫 17-1.NET Framework 類別函式庫 17-2 使用.NET FCL 的類別 17-2 使用.NET FCL 的類別 17-3 My 名稱空間的類別 17-3 My 名稱空間的類別 17-4 泛型類別 17-4 泛型類別

17-1.NET Framework 類別函式庫 - 說明 Visual Basic 2005 是.NET Framework 程式語 言,它是微軟新世代的程式開發平台,目前版本 是 2.0 版。.NET Framework 是由 CLR ( Common Language Rumtime )和.NET Framework 類別函式庫(.NET Framework Class Library ,簡稱.NET FCL )所組成。 Visual Basic 2005 是.NET Framework 程式語 言,它是微軟新世代的程式開發平台,目前版本 是 2.0 版。.NET Framework 是由 CLR ( Common Language Rumtime )和.NET Framework 類別函式庫(.NET Framework Class Library ,簡稱.NET FCL )所組成。.NET FCL 是一個龐大的類別函式庫,只需支 援.NET Framework 的程式語言都可以使用此類 別函式庫的類別和方法。它是使用稱為 Namespace 名稱空間的階層類別架構所組織成 的函式庫,在每一個名稱空間下,可以擁有眾多 的類別。.NET FCL 是一個龐大的類別函式庫,只需支 援.NET Framework 的程式語言都可以使用此類 別函式庫的類別和方法。它是使用稱為 Namespace 名稱空間的階層類別架構所組織成 的函式庫,在每一個名稱空間下,可以擁有眾多 的類別。

17-1.NET Framework 類別函式庫 - 圖例 圖例的 System 是最基礎的名稱空間,其下擁有 基本資料型態的 System.Int32 (每一階層的名 稱空間是使用 "." 運算子連接)、 System.Byte 、 System.Single 和 System.String 等名稱空間。 圖例的 System 是最基礎的名稱空間,其下擁有 基本資料型態的 System.Int32 (每一階層的名 稱空間是使用 "." 運算子連接)、 System.Byte 、 System.Single 和 System.String 等名稱空間。

17-1.NET Framework 類別函式庫 - 專案預設匯入的名稱空間

17-1.NET Framework 類別函式庫 - 匯入名稱空間 如果不屬於預設匯入的名稱空間,例如:第 15 章 的 System.Net.Mail 名稱空間和第 節的 StringBuilder 物件,就需要自行在程式碼以 Imports 關鍵字匯入所需的名稱空間,如下所示: 如果不屬於預設匯入的名稱空間,例如:第 15 章 的 System.Net.Mail 名稱空間和第 節的 StringBuilder 物件,就需要自行在程式碼以 Imports 關鍵字匯入所需的名稱空間,如下所示: Imports 名稱空間 上述程式碼匯入指定的名稱空間,其功能如同在 參考標籤勾選指定的名稱空間,如此在程式碼就 可以使用此名稱空間的類別。 上述程式碼匯入指定的名稱空間,其功能如同在 參考標籤勾選指定的名稱空間,如此在程式碼就 可以使用此名稱空間的類別。

17-2 使用.NET FCL 的類別 ArrayList 集合物件 ArrayList 集合物件 Hashtable 集合物件 Hashtable 集合物件 StringBuilder 物件 StringBuilder 物件

ArrayList 集合物件 - 說明 「集合物件」( Collections )可以處理不定元素 數的資料(類似動態陣列),物件可以讓程式設 計者不用考慮記憶體配置問題,只需使用相關方 法,就可以新增、刪除和插入集合物件中的元素。 「集合物件」( Collections )可以處理不定元素 數的資料(類似動態陣列),物件可以讓程式設 計者不用考慮記憶體配置問題,只需使用相關方 法,就可以新增、刪除和插入集合物件中的元素。 在.NET Framework 的集合類別屬於 System.Collections 名稱空間,提供數種集合類 別 ArrayList 、 Hashtable 、 Queue 和 Stack 等, 可以用來儲存 Object 資料型態的元素,或是 Visual Basic 基本資料型態。 在.NET Framework 的集合類別屬於 System.Collections 名稱空間,提供數種集合類 別 ArrayList 、 Hashtable 、 Queue 和 Stack 等, 可以用來儲存 Object 資料型態的元素,或是 Visual Basic 基本資料型態。

ArrayList 集合物件 - 建立 ArrayList 物件儲存元素的方式類似陣列, 元素以索引方式依序的儲存,我們只需將 元素新增或插入 ArrayList 物件,而不用事 先宣告物件尺寸,如下所示: ArrayList 物件儲存元素的方式類似陣列, 元素以索引方式依序的儲存,我們只需將 元素新增或插入 ArrayList 物件,而不用事 先宣告物件尺寸,如下所示: Dim names As ArrayList = New ArrayList() 上述程式碼使用建構子建立 ArrayList 物件 後,就可以使用物件的屬性和方法來存取 元素。 上述程式碼使用建構子建立 ArrayList 物件 後,就可以使用物件的屬性和方法來存取 元素。

ArrayList 集合物件 - 屬性與方 法

ArrayList 集合物件 - 取得所有 元素 在新增 ArrayList 物件元素後,.NET Framework 集合物件可以使用 For Each 迴圈取得集合物件的所有元素,如下所示: 在新增 ArrayList 物件元素後,.NET Framework 集合物件可以使用 For Each 迴圈取得集合物件的所有元素,如下所示: For Each str in names Console.WriteLine("[" & str & "]") Console.WriteLine("[" & str & "]")Next 上述迴圈可以取出名為 names 的 ArrayList 物件的所有元素。 上述迴圈可以取出名為 names 的 ArrayList 物件的所有元素。

Hashtable 集合物件 - 建立 Hashtable 物件的元素需要指定 Key 鍵值來 排列,而且新增元素自動以 Key 鍵值的雜湊 碼( Hash Code )來取得存放位置,所以 只提供 Add() 方法,而沒有 Insert() 方法, 如下所示: Hashtable 物件的元素需要指定 Key 鍵值來 排列,而且新增元素自動以 Key 鍵值的雜湊 碼( Hash Code )來取得存放位置,所以 只提供 Add() 方法,而沒有 Insert() 方法, 如下所示: Dim users As Hashtable = New Hashtable() 上述程式碼建立好 Hashtable 物件 users 後, 就可以使用 Add() 方法新增元素。 上述程式碼建立好 Hashtable 物件 users 後, 就可以使用 Add() 方法新增元素。

Hashtable 集合物件 - 新增元 素 建立好 Hashtable 物件 users 後,就可以使 用 Add() 方法新增元素,如下所示: 建立好 Hashtable 物件 users 後,就可以使 用 Add() 方法新增元素,如下所示: users.Add("hueyan", " 陳會安 ") users.Add("jane", " 江小魚 ") users.Add("joe", " 陳小安 ") users.Add("tom", " 張無忌 ") 上述 Add() 方法有 2 個參數,第 1 個是 Key 鍵值,第 2 個是儲存的值。 上述 Add() 方法有 2 個參數,第 1 個是 Key 鍵值,第 2 個是儲存的值。

Hashtable 集合物件 - 屬性 Hashtable 物件的相關屬性,如下表所示: Hashtable 物件的相關屬性,如下表所示:

Hashtable 集合物件 - 方法 Hashtable 物件的相關方法,如下表所示: Hashtable 物件的相關方法,如下表所示:

Hashtable 集合物件 - 取出所 有元素 在 Hashtable 物件的元素儲存 Key 和 Value 兩個值, 所以 For Each 迴圈需要使用 Keys 屬性取得 Key 值 的物件集合後,才能取出物件的所有元素,如下 所示: 在 Hashtable 物件的元素儲存 Key 和 Value 兩個值, 所以 For Each 迴圈需要使用 Keys 屬性取得 Key 值 的物件集合後,才能取出物件的所有元素,如下 所示: For Each str in users.Keys Console.WriteLine("[" & str & ":" & users(str) & "]") Console.WriteLine("[" & str & ":" & users(str) & "]")Next 上述程式碼取得每一個元素的 Key 鍵值,然後使 用 users(str) 取得每一個元素的 Value 值。 上述程式碼取得每一個元素的 Key 鍵值,然後使 用 users(str) 取得每一個元素的 Value 值。

StringBuilder 物件 - 說明 StringBuilder 類別類似字串 String 的物件,屬於 System.Text 名稱空間,因為 Visual Basic 專案 沒有匯入此名稱空間,所以在程式開頭需要自行 匯入此名稱空間,如下所示: StringBuilder 類別類似字串 String 的物件,屬於 System.Text 名稱空間,因為 Visual Basic 專案 沒有匯入此名稱空間,所以在程式開頭需要自行 匯入此名稱空間,如下所示: Imports System.Text StringBuilder 是允許更動字串內容的物件,可以 使用 Append() 、 Insert() 、 Remove() 和 Replace() 方法來處理字串內容。 StringBuilder 是允許更動字串內容的物件,可以 使用 Append() 、 Insert() 、 Remove() 和 Replace() 方法來處理字串內容。

StringBuilder 物件 - 建立 建立 StringBuilder 物件的程式碼,如下所示: 建立 StringBuilder 物件的程式碼,如下所示: Dim builder As StringBuilder = New _ StringBuilder("Visual 2005 程式設計 ", 30) StringBuilder("Visual 2005 程式設計 ", 30) 上述程式碼使用 New 關鍵字建立 StringBuilder 物件 builder ,第 1 個參數是字串內容,第 2 個參 數是 StringBuilder 物件的容量。 上述程式碼使用 New 關鍵字建立 StringBuilder 物件 builder ,第 1 個參數是字串內容,第 2 個參 數是 StringBuilder 物件的容量。 在建立好 StringBuilder 物件後,就可以使用屬性 和方法來處理字串內容。 在建立好 StringBuilder 物件後,就可以使用屬性 和方法來處理字串內容。

StringBuilder 物件 - 屬性 StringBuilder 物件相關屬性,如下表所示: StringBuilder 物件相關屬性,如下表所示:

StringBuilder 物件 - 方法

17-3 My 名稱空間的類別 My 名稱空間的基礎 My 名稱空間的基礎 使用 My 名稱空間的物件 使用 My 名稱空間的物件

My 名稱空間的基礎 - 說明 如同 Windows 桌面上的捷徑,其主要目的 是幫助使用者快速找到常用的應用程式和 檔案。 Visual Basic 2005 的 My 名稱空間, 就是存取.NET Framework 類別函式庫的 捷徑,可以讓我們快速取得常用類別來建 立應用程式。 如同 Windows 桌面上的捷徑,其主要目的 是幫助使用者快速找到常用的應用程式和 檔案。 Visual Basic 2005 的 My 名稱空間, 就是存取.NET Framework 類別函式庫的 捷徑,可以讓我們快速取得常用類別來建 立應用程式。 在 My 名稱空間的第一層物件,可以讓我們 輕鬆存取網路設定、磁碟檔案、應用程式 到 Windows 登錄資料等各種功能。 在 My 名稱空間的第一層物件,可以讓我們 輕鬆存取網路設定、磁碟檔案、應用程式 到 Windows 登錄資料等各種功能。

My 名稱空間的基礎 - 第一層物件

使用 My 名稱空間的物件 - 取得電腦和應用程式的相關資訊 在 Visual Basic 程式碼可以使用 My.Computer 和 My.Application 物件的屬性,來取得電腦和應 用程式的相關資訊,如下所示: 在 Visual Basic 程式碼可以使用 My.Computer 和 My.Application 物件的屬性,來取得電腦和應 用程式的相關資訊,如下所示: Console.WriteLine(" 電腦名稱 : " & My.Computer.Name) Console.WriteLine(" 系統時間 : " & _ My.Computer.Clock.LocalTime) My.Computer.Clock.LocalTime) Console.WriteLine(" 程式名稱 : " & _ My.Application.Info.AssemblyName) My.Application.Info.AssemblyName) Console.WriteLine(" 程式標題 : " & My.Application.Info.Title) Console.WriteLine(" 程式路徑 : " & _ My.Application.Info.DirectoryPath) My.Application.Info.DirectoryPath)

使用 My 名稱空間的物件 - 文字檔案處理 在 My.Computer.FileSystem 物件的屬性和方法, 可以執行檔案與資料夾處理,例如:建立和寫入 文字檔案內容,如下所示: 在 My.Computer.FileSystem 物件的屬性和方法, 可以執行檔案與資料夾處理,例如:建立和寫入 文字檔案內容,如下所示: My.Computer.FileSystem.WriteAllText("Test.txt", _ "Visual Basic 2005 程式設計 ", False) "Visual Basic 2005 程式設計 ", False) WriteAllText() 方法可以寫入第 2 個參數的字串至 第 1 個參數的文字檔案,最後 1 個參數指定是否新 增至檔尾, False 為不是。同樣方式, ReadAllText() 方法可以讀取整個文字檔案的內 容,如下所示: WriteAllText() 方法可以寫入第 2 個參數的字串至 第 1 個參數的文字檔案,最後 1 個參數指定是否新 增至檔尾, False 為不是。同樣方式, ReadAllText() 方法可以讀取整個文字檔案的內 容,如下所示: str = _ My.Computer.FileSystem.ReadAllText("Test.txt") My.Computer.FileSystem.ReadAllText("Test.txt")

使用 My 名稱空間的物件 - 測試網路連線與播放音效 在 My.Computer.Network 物件的屬性與方法, 可以測試連線、上傳和下載檔案。例如:測試網 路連線,如下所示: 在 My.Computer.Network 物件的屬性與方法, 可以測試連線、上傳和下載檔案。例如:測試網 路連線,如下所示: If My.Computer.Network.IsAvailable Then Console.WriteLine(" 電腦現在有網路連線...") Console.WriteLine(" 電腦現在有網路連線...") End If If 條件使用 IsAvailable 屬性測試網路連線,有連 線傳回 True ,否則為 False 。播放音效是使用 My.Computer.Audio 物件的方法,如下所示: If 條件使用 IsAvailable 屬性測試網路連線,有連 線傳回 True ,否則為 False 。播放音效是使用 My.Computer.Audio 物件的方法,如下所示: My.Computer.Audio.PlaySystemSound( _ Media.SystemSounds.Beep) Media.SystemSounds.Beep)

17-4 泛型類別 建立泛型類別 建立泛型類別 泛型集合物件 泛型集合物件

建立泛型類別 - 說明 泛型類別( Generic Classes )可以視為是 一個模子,倒入塑膠就可以做成塑膠成品, 倒入金屬就是金屬鑄件。 泛型類別( Generic Classes )可以視為是 一個模子,倒入塑膠就可以做成塑膠成品, 倒入金屬就是金屬鑄件。 對比程式語言來說,倒入泛型類別的是不 同的資料型態,換句話說,同一個類別就 可以依倒入的資料型態來處理整數、浮點 數或字串等不同資料型態的資料。 對比程式語言來說,倒入泛型類別的是不 同的資料型態,換句話說,同一個類別就 可以依倒入的資料型態來處理整數、浮點 數或字串等不同資料型態的資料。

建立泛型類別 - 堆疊 我們可以建立堆疊( Stacks )資料結構的泛型類 別,類別擁有兩種特性,如下所示: 我們可以建立堆疊( Stacks )資料結構的泛型類 別,類別擁有兩種特性,如下所示: 只允許從堆疊頂端存取資料。 只允許從堆疊頂端存取資料。 資料存取的順序是先進後出( Last Out, First In ), 也就是先存入堆疊的資料,反而最後取出。 資料存取的順序是先進後出( Last Out, First In ), 也就是先存入堆疊的資料,反而最後取出。 堆疊類別存取的資料可以是整數、浮點數或字串, 如果沒有使用泛型類別,我們需要宣告 StackOfInt 、 StackOfFloat 和 StackOfString 等類別來處理不同資料型態的資料。如果建立泛 型類別,就可以建立儲存各種不同資料型態的物 件。 堆疊類別存取的資料可以是整數、浮點數或字串, 如果沒有使用泛型類別,我們需要宣告 StackOfInt 、 StackOfFloat 和 StackOfString 等類別來處理不同資料型態的資料。如果建立泛 型類別,就可以建立儲存各種不同資料型態的物 件。

建立泛型類別 -GenericStack 類別宣告 Class GenericStack(Of ItemType) Private Data() As ItemType Private Data() As ItemType Private Index As Integer Private Index As Integer ……… ……… Public Function IsEmpty() As Boolean Public Function IsEmpty() As Boolean ……… ……… End Function End Function Public Sub Push(ByVal item As ItemType) Public Sub Push(ByVal item As ItemType) ……… ……… End Sub End Sub Public Function Pop() As ItemType Public Function Pop() As ItemType ……… ……… End Function End Function End Class

建立泛型類別 - 建立物件 在程式碼建立堆疊物件時,就可以指定泛 型類別使用的資料型態,如下所示: 在程式碼建立堆疊物件時,就可以指定泛 型類別使用的資料型態,如下所示: Dim st1 As _ New GenericStack(Of Integer)(10) New GenericStack(Of Integer)(10) 程式碼宣告 GenericStack 物件 st1 ,括號 使用的資料型態是 Integer ,換句話說, Data 陣列儲存的資料型態是整數;如果使 用 String 字串,此時堆疊就可以儲存字串 資料型態的資料。 程式碼宣告 GenericStack 物件 st1 ,括號 使用的資料型態是 Integer ,換句話說, Data 陣列儲存的資料型態是整數;如果使 用 String 字串,此時堆疊就可以儲存字串 資料型態的資料。

泛型集合物件 - 說明 因為 ArrayList 集合物件存入的是 Object 物件, 所以可以存入各種不同資料型態的元素。不過, 當從集合物件取出元素時,程式設計者需要自行 記得存入元素是哪一種資料型態,以便將 Object 物件型態轉換成指定的資料型態。 因為 ArrayList 集合物件存入的是 Object 物件, 所以可以存入各種不同資料型態的元素。不過, 當從集合物件取出元素時,程式設計者需要自行 記得存入元素是哪一種資料型態,以便將 Object 物件型態轉換成指定的資料型態。 在.NET Framework 2.0 的 System.Collections.Generic 名稱空間提供泛 型集合物件 List 、 Dictionary 、 SortedDictionary 、 LinkedList 、 Queue 和 Stack 等類別,可以使用資料型態參數來指定處 理的資料型態,如此就不需要自行處理元素型態 的轉換。 在.NET Framework 2.0 的 System.Collections.Generic 名稱空間提供泛 型集合物件 List 、 Dictionary 、 SortedDictionary 、 LinkedList 、 Queue 和 Stack 等類別,可以使用資料型態參數來指定處 理的資料型態,如此就不需要自行處理元素型態 的轉換。

泛型集合物件 -List 泛型集合 物件 ( 建立 ) List 泛型集合物件類似 ArrayList 物件,元 素是以索引方式依序的儲存,我們只需將 元素新增或插入 List 物件,而不用事先宣告 物件尺寸,如下所示: List 泛型集合物件類似 ArrayList 物件,元 素是以索引方式依序的儲存,我們只需將 元素新增或插入 List 物件,而不用事先宣告 物件尺寸,如下所示: Dim names As New List(Of String)(10) 上述程式碼是使用建構子建立 List 物件,括 號使用 Of 關鍵字指定型態是 String 字串, 參數 10 是初始容量。 上述程式碼是使用建構子建立 List 物件,括 號使用 Of 關鍵字指定型態是 String 字串, 參數 10 是初始容量。

泛型集合物件 -List 泛型集合 物件 ( 屬性 ) List 物件的相關屬性,如下表所示: List 物件的相關屬性,如下表所示:

泛型集合物件 -List 泛型集合 物件 ( 方法 ) List 物件的相關方法, T 是型態參數,如下 表所示: List 物件的相關方法, T 是型態參數,如下 表所示: