《C#開(kāi)發(fā)手冊(cè):基礎(chǔ)·案例·應(yīng)用》是“計(jì)算機(jī)科學(xué)與技術(shù)手冊(cè)系列”圖書(shū)之一,該系列圖書(shū)內(nèi)容全面,以理論聯(lián)系實(shí)際、能學(xué)到并做到為宗旨,以技術(shù)為核心,以案例為輔助,引領(lǐng)讀者全面學(xué)習(xí)基礎(chǔ)技術(shù)、代碼編寫(xiě)方法和具體應(yīng)用項(xiàng)目,旨在為想要進(jìn)入相應(yīng)領(lǐng)域或者已經(jīng)在該領(lǐng)域深耕多年的技術(shù)人員提供新而全的技術(shù)性內(nèi)容及案例。 本書(shū)是側(cè)重編程基礎(chǔ)+實(shí)踐的C#程序開(kāi)發(fā)圖書(shū),為了保證讀者可以學(xué)...
《C#開(kāi)發(fā)手冊(cè):基礎(chǔ)·案例·應(yīng)用》是“計(jì)算機(jī)科學(xué)與技術(shù)手冊(cè)系列”圖書(shū)之一,該系列圖書(shū)內(nèi)容全面,以理論聯(lián)系實(shí)際、能學(xué)到并做到為宗旨,以技術(shù)為核心,以案例為輔助,引領(lǐng)讀者全面學(xué)習(xí)基礎(chǔ)技術(shù)、代碼編寫(xiě)方法和具體應(yīng)用項(xiàng)目,旨在為想要進(jìn)入相應(yīng)領(lǐng)域或者已經(jīng)在該領(lǐng)域深耕多年的技術(shù)人員提供新而全的技術(shù)性內(nèi)容及案例。 本書(shū)是側(cè)重編程基礎(chǔ)+實(shí)踐的C#程序開(kāi)發(fā)圖書(shū),為了保證讀者可以學(xué)以致用,在實(shí)踐方面循序漸進(jìn)地進(jìn)行了3個(gè)層次的講解:基礎(chǔ)知識(shí)實(shí)踐、進(jìn)階案例實(shí)踐和綜合應(yīng)用實(shí)踐。本書(shū)全面介紹了使用C#進(jìn)行窗體程序開(kāi)發(fā)的必備知識(shí),以幫助讀者快速掌握C#開(kāi)發(fā)的技能,拓寬職場(chǎng)的道路。本書(shū)通過(guò)各種示例將學(xué)習(xí)與應(yīng)用相結(jié)合,打造輕松學(xué)習(xí)、零壓力學(xué)習(xí)的環(huán)境,通過(guò)案例對(duì)所學(xué)知識(shí)進(jìn)行綜合應(yīng)用,通過(guò)開(kāi)發(fā)實(shí)際項(xiàng)目將C#開(kāi)發(fā)的各項(xiàng)技能應(yīng)用到實(shí)際工作中。 本書(shū)提供豐富的資源,包含實(shí)例87個(gè)、實(shí)戰(zhàn)練習(xí)20個(gè)、案例12個(gè)、項(xiàng)目2個(gè),力求為讀者打造一本基礎(chǔ)+案例+應(yīng)用一體化的、精彩的C#開(kāi)發(fā)實(shí)例圖書(shū)。 本書(shū)不僅適合初學(xué)者、編程愛(ài)好者、準(zhǔn)備畢業(yè)設(shè)計(jì)的學(xué)生、參加實(shí)習(xí)的程序員,而且適合初中級(jí)程序開(kāi)發(fā)人員以及程序測(cè)試和維護(hù)人員使用。
從工業(yè)4.0到“十四五”規(guī)劃,我國(guó)信息時(shí)代正式踏上新的階梯,電子設(shè)備已經(jīng)普及,在人們的日常生活中隨處可見(jiàn)。信息社會(huì)給人們帶來(lái)了極大的便利,信息捕獲、信息處理分析等在各個(gè)行業(yè)得到普遍應(yīng)用,推動(dòng)整個(gè)社會(huì)向前穩(wěn)固發(fā)展。 計(jì)算機(jī)設(shè)備和信息數(shù)據(jù)的相互融合,對(duì)各個(gè)行業(yè)來(lái)說(shuō)都是一次非常大的進(jìn)步,已經(jīng)滲入到工業(yè)、農(nóng)業(yè)、商業(yè)、軍事等領(lǐng)域,同時(shí)其相關(guān)應(yīng)用產(chǎn)業(yè)也得到一定發(fā)展。就目前來(lái)看,各類(lèi)編程語(yǔ)言的發(fā)展、人工智能相關(guān)算法的應(yīng)用、大數(shù)據(jù)時(shí)代的數(shù)據(jù)處理和分析都是計(jì)算機(jī)科學(xué)領(lǐng)域各大高校、各個(gè)企業(yè)在不斷攻關(guān)的難題,是挑戰(zhàn)也是機(jī)遇。因此,我們策劃編寫(xiě)了“計(jì)算機(jī)科學(xué)與技術(shù)手冊(cè)系列”圖書(shū),旨在為想要進(jìn)入相應(yīng)領(lǐng)域的初學(xué)者或者已經(jīng)在該領(lǐng)域深耕多年的從業(yè)者提供新而全的技術(shù)性內(nèi)容,以及豐富、典型的實(shí)戰(zhàn)案例。 本書(shū)從初學(xué)者的角度出發(fā),為想要學(xué)習(xí)C#程序開(kāi)發(fā)、想要進(jìn)行Windows窗體開(kāi)發(fā)的初中級(jí)開(kāi)發(fā)人員、編程愛(ài)好者、大學(xué)師生精心策劃。所講內(nèi)容從技術(shù)應(yīng)用的角度出發(fā),結(jié)合實(shí)際應(yīng)用深入淺出地循序漸進(jìn)。 本書(shū)內(nèi)容 全書(shū)共分為32章,主要通過(guò)“基礎(chǔ)篇(18章)+ 案例篇(12章)+應(yīng)用篇(2章)”3大維度一體化的講解方式,具體的知識(shí)結(jié)構(gòu)如下圖所示。 本書(shū)特色 1.突出重點(diǎn)、學(xué)以致用 書(shū)中每個(gè)知識(shí)點(diǎn)都結(jié)合了簡(jiǎn)單易懂的示例代碼以及非常詳細(xì)的注釋信息,力求讀者能夠快速理解所學(xué)知識(shí),提高學(xué)習(xí)效率,縮短學(xué)習(xí)路徑。 2.提升思維、綜合運(yùn)用 本書(shū)以知識(shí)點(diǎn)綜合運(yùn)用的方式,帶領(lǐng)讀者學(xué)習(xí)各種趣味性較強(qiáng)的應(yīng)用案例,讓讀者不斷提升編寫(xiě)C#程序的思維,還可以快速提升對(duì)知識(shí)點(diǎn)的綜合運(yùn)用能力,讓讀者能夠回顧以往所學(xué)的知識(shí)點(diǎn),并結(jié)合新的知識(shí)點(diǎn)進(jìn)行綜合應(yīng)用。 3.綜合技術(shù)、實(shí)際項(xiàng)目 本書(shū)在應(yīng)用篇中提供了兩個(gè)貼近實(shí)際應(yīng)用的項(xiàng)目,力求通過(guò)實(shí)際應(yīng)用使讀者更容易地掌握C#技術(shù)與對(duì)應(yīng)業(yè)務(wù)的需求。兩個(gè)項(xiàng)目都是根據(jù)實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)而來(lái),包含了在實(shí)際開(kāi)發(fā)中所遇到的各種問(wèn)題。項(xiàng)目結(jié)構(gòu)清晰、擴(kuò)展性強(qiáng),讀者可根據(jù)個(gè)人需求進(jìn)行擴(kuò)展開(kāi)發(fā)。 4.精彩欄目、貼心提示 本書(shū)根據(jù)實(shí)際學(xué)習(xí)的需要,設(shè)置了“注意”“說(shuō)明”“指點(diǎn)迷津”等許多貼心的小欄目,輔助讀者輕松理解所學(xué)知識(shí),規(guī)避編程陷阱。 本書(shū)由明日科技的.NET開(kāi)發(fā)團(tuán)隊(duì)策劃并組織編寫(xiě),主要編寫(xiě)人員有王小科、李菁菁、張?chǎng)?、何平、申小琦、趙寧、周佳星、李磊、王國(guó)輝、高春艷、李再天、賽奎春、葛忠月、李春林、宋萬(wàn)勇、張寶華、楊麗、劉媛媛、龐鳳、譚暢、依瑩瑩等。在編寫(xiě)本書(shū)的過(guò)程中,我們本著科學(xué)、嚴(yán)謹(jǐn)?shù)膽B(tài)度,力求精益求精,但疏漏之處在所難免,敬請(qǐng)廣大讀者批評(píng)斧正。 感謝您閱讀本書(shū),希望本書(shū)能成為您編程路上的領(lǐng)航者。 祝您讀書(shū)快樂(lè)! 編著者
第1篇 基礎(chǔ)篇 第1章 C#開(kāi)發(fā)準(zhǔn)備 1.1 C#語(yǔ)言入門(mén) 3 1.1.1 C#是什么 3 1.1.2 認(rèn)識(shí).NET Framework 3 1.1.3 C#與.NET Framework 4 1.1.4 C#的應(yīng)用領(lǐng)域 4 1.2 Visual Studio 2019的安裝與卸載 4 1.2.1 安裝Visual Studio 2019必備條件 4 1.2.2 下載Visual Studio 2019 4 1.2.3 安裝Visual Studio 2019 5 1.3 熟悉Visual Studio 2019開(kāi)發(fā)環(huán)境 6 1.3.1 創(chuàng)建第一個(gè)C#程序 6 1.3.2 菜單欄 7 1.3.3 工具欄 7 1.3.4 解決方案資源管理器 8 1.3.5 “工具箱”窗口 8 1.3.6 “屬性”窗口 9 1.3.7 “錯(cuò)誤列表”窗口 9 1.4 C#程序結(jié)構(gòu)預(yù)覽 10 1.4.1 命名空間 10 1.4.2 類(lèi) 11 1.4.3 關(guān)鍵字與標(biāo)識(shí)符 11 1.4.4 Main方法 12 1.4.5 C#語(yǔ)句 13 1.4.6 注釋 15 1.4.7 一個(gè)完整的C#程序 16 【實(shí)例1.1】輸出名人名言 16 1.5 綜合案例——打印美團(tuán)外賣(mài)單據(jù) 17 1.5.1 案例描述 17 1.5.2 實(shí)現(xiàn)代碼 17 1.6 實(shí)戰(zhàn)練習(xí) 18 第2章 C#語(yǔ)言基礎(chǔ) 2.1 數(shù)據(jù)類(lèi)型及變量 20 2.1.1 變量是什么 20 2.1.2 變量的聲明和命名規(guī)則 20 2.1.3 簡(jiǎn)單數(shù)據(jù)類(lèi)型 21 2.1.4 變量的初始化 24 2.1.5 變量的作用域 25 【實(shí)例2.1】使用變量記錄用戶登錄名 25 2.2 引用類(lèi)型和值類(lèi)型與引用類(lèi)型的區(qū)別 26 2.2.1 引用類(lèi)型 26 2.2.2 值類(lèi)型與引用類(lèi)型的區(qū)別 27 2.3 常量 27 2.3.1 常量是什么 27 2.3.2 常量的分類(lèi) 27 2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換 28 2.4.1 隱式類(lèi)型轉(zhuǎn)換 28 2.4.2 顯式類(lèi)型轉(zhuǎn)換 29 2.4.3 使用Convert類(lèi)進(jìn)行轉(zhuǎn)換 29 2.4.4 裝箱和拆箱 30 2.5 運(yùn)算符 31 2.5.1 算術(shù)運(yùn)算符 31 2.5.2 自增自減運(yùn)算符 31 2.5.3 賦值運(yùn)算符 32 2.5.4 關(guān)系運(yùn)算符 34 【實(shí)例2.2】使用關(guān)系運(yùn)算符比較大小關(guān)系 34 2.5.5 邏輯運(yùn)算符 34 2.5.6 位運(yùn)算符 35 2.5.7 移位運(yùn)算符 36 2.5.8 條件運(yùn)算符 37 2.5.9 運(yùn)算符優(yōu)先級(jí)與結(jié)合性 38 2.6 綜合案例——記錄你的密碼 39 2.6.1 案例描述 39 2.6.2 實(shí)現(xiàn)代碼 39 2.7 實(shí)戰(zhàn)練習(xí) 40 第3章 流程控制 3.1 選擇語(yǔ)句 42 3.1.1 if語(yǔ)句 42 【實(shí)例3.1】根據(jù)輸入年齡輸出相應(yīng)信息提示 45 【實(shí)例3.2】判斷輸入的年份是不是閏年 47 3.1.2 switch語(yǔ)句 48 【實(shí)例3.3】查詢高考錄取分?jǐn)?shù)線 49 3.2 循環(huán)語(yǔ)句 49 3.2.1 while語(yǔ)句 50 【實(shí)例3.4】計(jì)算1到100的累加和 50 3.2.2 do…while語(yǔ)句 50 3.2.3 for語(yǔ)句 51 3.2.4 foreach語(yǔ)句 53 3.3 跳轉(zhuǎn)語(yǔ)句 54 3.3.1 break語(yǔ)句 54 【實(shí)例3.5】使用break跳出循環(huán) 54 3.3.2 continue語(yǔ)句 55 【實(shí)例3.6】使用continue語(yǔ)句實(shí)現(xiàn)1到100之間的偶數(shù)和 55 3.3.3 goto語(yǔ)句 55 3.3.4 return語(yǔ)句 56 【實(shí)例3.7】使用return設(shè)置返回值 56 3.4 綜合案例——猜數(shù)字游戲 56 3.4.1 案例描述 56 3.4.2 實(shí)現(xiàn)代碼 56 3.5 實(shí)戰(zhàn)練習(xí) 57 第4章 字符與字符串 4.1 字符 59 4.1.1 Char類(lèi)的使用 59 【實(shí)例4.1】字符類(lèi)Char的常用方法應(yīng)用 60 4.1.2 轉(zhuǎn)義字符 60 【實(shí)例4.2】輸出Windows系統(tǒng)目錄 61 4.2 字符串 61 4.2.1 聲明字符串 61 4.2.2 字符串的初始化 62 4.2.3 獲取字符串長(zhǎng)度 63 4.2.4 獲取指定位置的字符 63 4.2.5 獲取子字符串索引位置 64 4.2.6 判斷字符串首尾內(nèi)容 65 4.2.7 字符串的拼接 66 4.2.8 比較字符串 66 4.2.9 字符串的大小寫(xiě)轉(zhuǎn)換 67 4.2.10 格式化字符串 67 【實(shí)例4.3】格式化不同的數(shù)值類(lèi)型數(shù)據(jù) 69 【實(shí)例4.4】輸出不同形式的日期時(shí)間 70 4.2.11 截取字符串 70 4.2.12 分隔字符串 71 4.2.13 填充字符串 71 【實(shí)例4.5】對(duì)字符串進(jìn)行填充 72 4.2.14 去除空白內(nèi)容 72 4.2.15 替換字符串 73 4.3 可變字符串 73 4.3.1 StringBuilder類(lèi)的定義 74 4.3.2 StringBuilder類(lèi)的使用 74 【實(shí)例4.6】StringBuilder類(lèi)方法的使用 75 4.3.3 StringBuilder類(lèi)與String類(lèi)的區(qū)別 75 4.4 綜合案例——模擬郵件發(fā)送 76 4.4.1 案例描述 76 4.4.2 實(shí)現(xiàn)代碼 76 4.5 實(shí)戰(zhàn)練習(xí) 77 第5章 數(shù)組與集合 5.1 數(shù)組概述 79 5.2 一維數(shù)組的聲明和使用 79 5.2.1 一維數(shù)組的聲明 79 5.2.2 一維數(shù)組的使用 80 【實(shí)例5.1】遍歷一維數(shù)組中的所有元素 80 5.3 二維數(shù)組的聲明和使用 81 5.3.1 二維數(shù)組的聲明 81 5.3.2 二維數(shù)組的使用 81 【實(shí)例5.2】輸出二維數(shù)組的所有元素 81 5.3.3 不規(guī)則數(shù)組的定義 82 5.4 數(shù)組的基本操作 82 5.4.1 遍歷數(shù)組中的元素 82 5.4.2 使用排序算法對(duì)數(shù)組進(jìn)行排序 83 【實(shí)例5.3】冒泡排序法 83 【實(shí)例5.4】選擇排序法 84 5.5 ArrayList集合的使用 85 5.5.1 ArrayList集合概述 85 5.5.2 添加ArrayList集合元素 86 5.5.3 刪除ArrayList集合元素 87 5.5.4 遍歷ArrayList集合 88 【實(shí)例5.5】使用集合存儲(chǔ)數(shù)據(jù) 88 5.5.5 查找ArrayList集合元素 89 5.6 綜合案例——模擬淘寶購(gòu)物車(chē)場(chǎng)景 90 5.6.1 案例描述 90 5.6.2 實(shí)現(xiàn)代碼 90 5.7 實(shí)戰(zhàn)練習(xí) 90 第6章 面向?qū)ο缶幊袒A(chǔ) 6.1 面向?qū)ο蟾拍?92 6.1.1 對(duì)象、類(lèi)、實(shí)例化 92 6.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的三大原則 93 6.2 類(lèi) 95 6.2.1 類(lèi)的概念 95 6.2.2 類(lèi)的聲明 95 6.2.3 類(lèi)的成員 96 【實(shí)例6.1】用set訪問(wèn)器對(duì)年齡進(jìn)行判斷 98 6.2.4 構(gòu)造函數(shù)和析構(gòu)函數(shù) 98 【實(shí)例6.2】構(gòu)造函數(shù)的使用 98 6.2.5 對(duì)象的創(chuàng)建及使用 99 【實(shí)例6.3】使用對(duì)象調(diào)用類(lèi)成員 100 6.2.6 this關(guān)鍵字 102 6.2.7 類(lèi)與對(duì)象的關(guān)系 103 6.3 方法 103 6.3.1 方法的聲明 103 6.3.2 方法的參數(shù) 104 【實(shí)例6.4】值參數(shù)的使用 104 【實(shí)例6.5】ref引用參數(shù)的使用 105 【實(shí)例6.6】out參數(shù)的使用 105 【實(shí)例6.7】使用params向方法參數(shù)傳遞多個(gè)值 106 6.3.3 靜態(tài)方法與實(shí)例方法 106 【實(shí)例6.8】使用類(lèi)名調(diào)用靜態(tài)方法 107 【實(shí)例6.9】實(shí)例方法的調(diào)用 107 6.3.4 方法的重載 108 【實(shí)例6.10】使用重載方法計(jì)算不同類(lèi)型數(shù)據(jù)的和 108 6.4 綜合案例——輸出庫(kù)存商品信息 108 6.4.1 案例描述 108 6.4.2 實(shí)現(xiàn)代碼 109 6.5 實(shí)戰(zhàn)練習(xí) 110 第7章 面向?qū)ο蠛诵募夹g(shù) 7.1 類(lèi)的繼承與多態(tài) 112 7.1.1 繼承 112 【實(shí)例7.1】模擬進(jìn)銷(xiāo)存管理系統(tǒng)的進(jìn)貨信息并輸出 112 7.1.2 多態(tài) 114 【實(shí)例7.2】不同交通工具的形態(tài) 114 【實(shí)例7.3】重寫(xiě)抽象方法輸出進(jìn)貨信息和銷(xiāo)售信息 116 7.2 結(jié)構(gòu)與接口 117 7.2.1 結(jié)構(gòu) 117 7.2.2 接口 118 【實(shí)例7.4】通過(guò)繼承接口輸出進(jìn)貨信息和銷(xiāo)售信息 119 7.3 索引器 121 【實(shí)例7.5】定義操作字符串?dāng)?shù)組的索引器 121 7.4 委托和匿名方法 122 7.4.1 委托 122 【實(shí)例7.6】自定義委托并使用 122 7.4.2 匿名方法 123 【實(shí)例7.7】分別調(diào)用匿名方法和命名方法 123 7.5 事件 124 7.5.1 委托的發(fā)布和訂閱 124 【實(shí)例7.8】通過(guò)委托使學(xué)生們對(duì)鈴聲作出響應(yīng) 124 7.5.2 事件的發(fā)布和訂閱 126 7.5.3 EventHandler類(lèi) 127 7.6 泛型 128 7.6.1 類(lèi)型參數(shù)T 128 7.6.2 泛型接口 129 7.6.3 泛型方法 129 【實(shí)例7.9】通過(guò)泛型方法計(jì)算商品銷(xiāo)售額 129 7.7 綜合案例——輸出進(jìn)銷(xiāo)存管理系統(tǒng)中的每月銷(xiāo)售明細(xì) 130 7.7.1 案例描述 130 7.7.2 實(shí)現(xiàn)代碼 130 7.8 實(shí)戰(zhàn)練習(xí) 132 第8章 Windows編程基礎(chǔ) 8.1 Form窗體 134 8.1.1 添加和刪除窗體 134 8.1.2 多窗體的使用 134 8.1.3 窗體的屬性 135 8.1.4 窗體的顯示與隱藏 137 8.1.5 窗體的事件 137 8.2 MDI窗體 139 8.2.1 MDI窗體的概念 139 8.2.2 如何設(shè)置MDI窗體 139 8.2.3 排列MDI子窗體 140 8.3 綜合案例——自定義最大化、最小化和關(guān)閉按鈕 140 8.3.1 案例描述 140 8.3.2 實(shí)現(xiàn)代碼 140 8.4 實(shí)戰(zhàn)練習(xí) 141 第9章 Windows控件的使用 9.1 控件基礎(chǔ) 143 9.1.1 控件概述 143 9.1.2 控件的相關(guān)操作 143 9.2 文本類(lèi)控件 144 9.2.1 Label:標(biāo)簽 144 9.2.2 TextBox:文本框 144 9.2.3 RichTextBox:有格式文本框 145 9.3 按鈕類(lèi)控件 147 9.3.1 Button:按鈕 147 9.3.2 RadioButton:?jiǎn)芜x按鈕 147 【實(shí)例9.1】選擇用戶登錄身份 147 9.3.3 CheckBox:復(fù)選框 148 【實(shí)例9.2】設(shè)置用戶操作權(quán)限 148 9.4 列表類(lèi)控件 149 9.4.1 ComboBox:下拉組合框 149 【實(shí)例9.3】選擇員工的職位 149 9.4.2 NumericUpDown:數(shù)值選擇 150 9.4.3 ListBox:列表 150 9.4.4 ListView控件:列表視圖 151 9.5 圖片類(lèi)控件 154 9.5.1 PictureBox:圖片 154 9.5.2 ImageList:圖片列表 154 9.6 容器控件 155 9.6.1 GroupBox:分組框 155 9.6.2 Panel:容器 155 9.6.3 TabControl:選項(xiàng)卡 156 9.7 TreeView:樹(shù)控件 157 9.8 Timer:定時(shí)器 158 【實(shí)例9.4】模擬雙色球選號(hào) 158 9.9 ProgressBar:進(jìn)度條 159 9.10 菜單、工具欄和狀態(tài)欄 160 9.10.1 MenuStrip:菜單 160 9.10.2 ToolStrip:工具欄 160 9.10.3 StatusStrip:狀態(tài)欄 161 【實(shí)例9.5】在狀態(tài)欄中顯示登錄用戶及時(shí)間 161 9.11 消息框 162 9.12 對(duì)話框 163 9.12.1 打開(kāi)對(duì)話框 163 9.12.2 另存為對(duì)話框 163 9.12.3 瀏覽文件夾對(duì)話框 164 9.13 綜合案例——在控件中實(shí)現(xiàn)關(guān)鍵字描紅 164 9.13.1 案例描述 164 9.13.2 實(shí)現(xiàn)代碼 165 9.14 實(shí)戰(zhàn)練習(xí) 166 第10章 ADO.NET數(shù)據(jù)訪問(wèn)技術(shù) 10.1 ADO.NET概述 168 10.1.1 ADO.NET對(duì)象模型 168 10.1.2 數(shù)據(jù)訪問(wèn)命名空間 168 10.2 Connection數(shù)據(jù)連接對(duì)象 169 10.2.1 熟悉Connection對(duì)象 169 10.2.2 數(shù)據(jù)庫(kù)連接字符串 169 10.2.3 應(yīng)用SqlConnection對(duì)象連接數(shù)據(jù)庫(kù) 170 10.3 Command命令執(zhí)行對(duì)象 171 10.3.1 熟悉Command對(duì)象 171 10.3.2 應(yīng)用Command對(duì)象操作數(shù)據(jù) 172 10.3.3 應(yīng)用Command對(duì)象調(diào)用存儲(chǔ)過(guò)程 172 【實(shí)例10.1】使用存儲(chǔ)過(guò)程向數(shù)據(jù)表中添加信息 172 10.4 DataReader數(shù)據(jù)讀取對(duì)象 173 10.4.1 DataReader對(duì)象概述 173 10.4.2 使用DataReader對(duì)象檢索數(shù)據(jù) 174 10.5 DataSet對(duì)象和DataAdapter操作對(duì)象 175 10.5.1 DataSet對(duì)象 175 10.5.2 DataAdapter對(duì)象 175 10.5.3 填充DataSet數(shù)據(jù)集 177 10.5.4 DataSet對(duì)象與DataReader對(duì)象的區(qū)別 177 10.6 DataGridView控件的使用 177 【實(shí)例10.2】DataGridView表格的使用 178 10.7 綜合案例——分頁(yè)顯示信息 179 10.7.1 案例描述 179 10.7.2 實(shí)現(xiàn)代碼 179 10.8 實(shí)戰(zhàn)練習(xí) 180 第11章 LINQ編程 11.1 LINQ基礎(chǔ) 182 11.1.1 LINQ概述 182 11.1.2 LINQ查詢 182 【實(shí)例11.1】使用LINQ查詢數(shù)組中指定長(zhǎng)度的項(xiàng) 183 11.1.3 使用var創(chuàng)建隱型局部變量 183 11.1.4 Lambda表達(dá)式的使用 183 【實(shí)例11.2】查找數(shù)組中包含指定字符的字符串 184 11.2 LINQ查詢表達(dá)式 185 11.2.1 獲取數(shù)據(jù)源 185 11.2.2 篩選 185 11.2.3 排序 185 11.2.4 分組 186 11.2.5 連接 186 11.3 LINQ操作SQL Server數(shù)據(jù)庫(kù) 186 11.3.1 使用LINQ查詢SQL Server數(shù)據(jù)庫(kù) 186 【實(shí)例11.3】多條件查詢商品信息 187 11.3.2 使用LINQ更新SQL Server數(shù)據(jù)庫(kù) 188 【實(shí)例11.4】添加庫(kù)存商品信息 189 【實(shí)例11.5】修改庫(kù)存商品信息 190 【實(shí)例11.6】刪除庫(kù)存商品信息 191 11.4 綜合案例——分頁(yè)查看庫(kù)存商品信息 191 11.4.1 案例描述 191 11.4.2 實(shí)現(xiàn)代碼 192 11.5 實(shí)戰(zhàn)練習(xí) 193 第12章 文件流 12.1 System.IO命名空間 195 12.2 文件與目錄類(lèi) 196 12.2.1 File和FileInfo文件類(lèi) 196 【實(shí)例12.1】使用File類(lèi)創(chuàng)建文件并獲取文件的詳細(xì)信息 197 12.2.2 Directory和DirectoryInfo目錄類(lèi) 197 【實(shí)例12.2】遍歷驅(qū)動(dòng)器中的文件及文件夾 198 12.2.3 Path路徑類(lèi) 199 12.2.4 DriveInfo驅(qū)動(dòng)器類(lèi) 200 12.3 數(shù)據(jù)流基礎(chǔ) 201 12.3.1 流操作類(lèi)介紹 201 12.3.2 文件流 201 【實(shí)例12.3】使用不同的方式打開(kāi)文件 202 12.3.3 文本文件的讀寫(xiě) 202 【實(shí)例12.4】模擬記錄進(jìn)銷(xiāo)存管理系統(tǒng)的登錄日志 203 12.3.4 二進(jìn)制文件的讀寫(xiě) 205 12.4 綜合案例——復(fù)制文件時(shí)顯示復(fù)制進(jìn)度 205 12.4.1 案例描述 205 12.4.2 實(shí)現(xiàn)代碼 206 12.5 實(shí)戰(zhàn)練習(xí) 207 第13章 GDI+繪圖 13.1 GDI+繪圖基礎(chǔ) 209 13.2 繪圖 210 13.2.1 畫(huà)筆 210 13.2.2 畫(huà)刷 211 13.2.3 繪制圖形 211 【實(shí)例13.1】繪制驗(yàn)證碼 211 13.2.4 填充圖形 212 【實(shí)例13.2】繪制并利用餅型圖分析產(chǎn)品市場(chǎng)占有率 213 13.3 顏色 213 13.4 文本輸出 214 13.4.1 字體 214 13.4.2 輸出文本 215 13.5 圖像處理 215 13.5.1 繪制圖像 215 13.5.2 刷新圖像 216 13.6 綜合案例——十字光標(biāo)定位 216 13.6.1 案例描述 216 13.6.2 實(shí)現(xiàn)代碼 217 13.7 實(shí)戰(zhàn)練習(xí) 217 第14章 網(wǎng)絡(luò)編程 14.1 IP地址封裝 219 【實(shí)例14.1】訪問(wèn)同一局域網(wǎng)中的主機(jī)的名稱(chēng) 220 14.2 TCP程序設(shè)計(jì) 221 14.2.1 Socket類(lèi) 221 14.2.2 TcpClient類(lèi)和TcpListener類(lèi) 222 14.2.3 TCP網(wǎng)絡(luò)程序?qū)嵗?223 【實(shí)例14.2】客戶端/服務(wù)器的交互 223 14.3 UDP程序設(shè)計(jì) 225 14.3.1 UdpClient類(lèi) 225 14.3.2 UDP網(wǎng)絡(luò)程序?qū)嵗?226 【實(shí)例14.3】廣播數(shù)據(jù)報(bào)程序 226 14.4 綜合案例——點(diǎn)對(duì)點(diǎn)聊天室 228 14.4.1 案例描述 228 14.4.2 實(shí)現(xiàn)代碼 228 14.5 實(shí)戰(zhàn)練習(xí) 230 第15章 多線程編程 15.1 線程概述 232 15.1.1 多線程工作方式 232 15.1.2 何時(shí)使用多線程 232 15.2 線程的基本操作 232 15.2.1 線程的創(chuàng)建與啟動(dòng) 232 15.2.2 線程的掛起與恢復(fù) 234 15.2.3 線程休眠 235 15.2.4 終止線程 235 15.2.5 線程的優(yōu)先級(jí) 236 15.3 線程同步 237 15.3.1 lock關(guān)鍵字 237 【實(shí)例15.1】模擬賬戶轉(zhuǎn)賬操作 237 15.3.2 線程監(jiān)視器——Monitor 238 【實(shí)例15.2】Monitor同步監(jiān)視器的使用 238 15.3.3 子線程訪問(wèn)主線程的控件 239 15.4 線程池和定時(shí)器 240 15.4.1 線程池 240 15.4.2 定時(shí)器 241 15.5 互斥對(duì)象——Mutex 241 15.6 綜合案例——設(shè)置同步塊模擬售票系統(tǒng) 242 15.6.1 案例描述 242 15.6.2 實(shí)現(xiàn)代碼 243 15.7 實(shí)戰(zhàn)練習(xí) 244 第16章 程序調(diào)試與異常處理 16.1 程序調(diào)試 246 16.1.1 Visual Studio編輯器調(diào)試 246 16.1.2 Visual Studio調(diào)試器調(diào)試 246 16.2 異常處理 248 16.2.1 try…catch語(yǔ)句 249 【實(shí)例16.1】未將對(duì)象引用設(shè)置到對(duì)象實(shí)例的異常 249 16.2.2 try…catch…finally語(yǔ)句 251 【實(shí)例16.2】捕捉將字符串轉(zhuǎn)換為整型數(shù)據(jù)時(shí)的異常 251 16.2.3 throw語(yǔ)句 252 【實(shí)例16.3】拋出除數(shù)為0的異常 252 16.2.4 異常的使用原則 253 16.3 綜合案例——數(shù)組索引超出范圍引發(fā)的異常 253 16.3.1 案例描述 253 16.3.2 實(shí)現(xiàn)代碼 253 16.4 實(shí)戰(zhàn)練習(xí) 254 第17章 注冊(cè)表應(yīng)用 17.1 注冊(cè)表基礎(chǔ) 256 17.1.1 Windows注冊(cè)表概述 256 17.1.2 Registry和RegistryKey類(lèi) 256 17.2 在C#中操作注冊(cè)表 258 17.2.1 讀取注冊(cè)表中信息 258 【實(shí)例17.1】讀取注冊(cè)表信息 259 17.2.2 創(chuàng)建和修改注冊(cè)表信息 259 【實(shí)例17.2】創(chuàng)建注冊(cè)表項(xiàng) 260 【實(shí)例17.3】修改注冊(cè)表項(xiàng) 261 17.2.3 刪除注冊(cè)表中信息 261 17.3 綜合案例——限制軟件的使用次數(shù) 262 17.3.1 案例描述 262 17.3.2 實(shí)現(xiàn)代碼 262 17.4 實(shí)戰(zhàn)練習(xí) 264 第18章 系統(tǒng)打包部署 18.1 創(chuàng)建打包項(xiàng)目 266 18.2 添加項(xiàng)目輸出 266 18.3 添加內(nèi)容文件 267 18.4 創(chuàng)建桌面快捷方式 267 18.5 添加注冊(cè)表項(xiàng) 268 18.6 生成Windows安裝程序 269 第2篇 案例篇 第19章 二維碼生成器——C#+ZXing.Net組件實(shí)現(xiàn) 19.1 案例效果預(yù)覽 272 19.2 案例準(zhǔn)備 272 19.3 業(yè)務(wù)流程 272 19.4 實(shí)現(xiàn)過(guò)程 272 19.4.1 設(shè)計(jì)窗體 272 19.4.2 引入ZXing.Net組件 273 19.4.3 自定義生成二維碼的方法 273 19.4.4 設(shè)置是否包含圖片 275 19.4.5 實(shí)現(xiàn)二維碼的生成 275 第20章 語(yǔ)音與文本的相互轉(zhuǎn)換——Baidu.AI+ffmpeg多媒體框架實(shí)現(xiàn) 20.1 案例效果預(yù)覽 277 20.2 案例準(zhǔn)備 277 20.3 業(yè)務(wù)流程 277 20.4 實(shí)現(xiàn)過(guò)程 277 20.4.1 準(zhǔn)備百度云AI的SDK開(kāi)發(fā)包 277 20.4.2 設(shè)計(jì)窗體 280 20.4.3 創(chuàng)建語(yǔ)音合成與識(shí)別對(duì)象 281 20.4.4 將文本合成為語(yǔ)音文件 281 20.4.5 將語(yǔ)音識(shí)別為文本 283 第21章 根據(jù)人臉推測(cè)其年齡性別——C#+Baidu.AI框架+人臉識(shí)別技術(shù)實(shí)現(xiàn) 21.1 案例效果預(yù)覽 286 21.2 案例準(zhǔn)備 286 21.3 業(yè)務(wù)流程 286 21.4 實(shí)現(xiàn)過(guò)程 286 21.4.1 設(shè)計(jì)窗體 286 21.4.2 初始化人臉識(shí)別對(duì)象 287 21.4.3 識(shí)別人臉并推測(cè)年齡性別 287 第22章 AI圖像識(shí)別工具——Baidu.AI框架+圖像識(shí)別技術(shù)+文字識(shí)別技術(shù)實(shí)現(xiàn) 22.1 案例效果預(yù)覽 292 22.2 案例準(zhǔn)備 292 22.3 業(yè)務(wù)流程 292 22.4 實(shí)現(xiàn)過(guò)程 292 22.4.1 設(shè)計(jì)窗體 292 22.4.2 初始化圖像及文字識(shí)別對(duì)象 294 22.4.3 植物識(shí)別 294 22.4.4 動(dòng)物識(shí)別 295 22.4.5 車(chē)型識(shí)別 296 22.4.6 車(chē)牌識(shí)別 297 22.4.7 菜品識(shí)別 298 第23章 從文檔中提取所有圖片——Sprie.PDF組件+文件流+Image圖片類(lèi)實(shí)現(xiàn) 23.1 案例效果預(yù)覽 301 23.2 案例準(zhǔn)備 301 23.3 業(yè)務(wù)流程 301 23.4 實(shí)現(xiàn)過(guò)程 301 23.4.1 設(shè)計(jì)窗體 301 23.4.2 選擇PDF文檔 302 23.4.3 從PDF文檔中提取圖片并保存 302 第24章 為圖片批量添加水印——C#+GDI+繪圖技術(shù)實(shí)現(xiàn) 24.1 案例效果預(yù)覽 305 24.2 案例準(zhǔn)備 305 24.3 業(yè)務(wù)流程 305 24.4 實(shí)現(xiàn)過(guò)程 306 24.4.1 設(shè)計(jì)窗體 306 24.4.2 加載圖片 306 24.4.3 設(shè)置水印類(lèi)型 307 24.4.4 為圖片添加水印 309 第25章 語(yǔ)音計(jì)算器——系統(tǒng)API函數(shù)+INI文件讀寫(xiě)+語(yǔ)音播放技術(shù)實(shí)現(xiàn) 25.1 案例效果預(yù)覽 314 25.2 案例準(zhǔn)備 314 25.3 業(yè)務(wù)流程 314 25.4 實(shí)現(xiàn)過(guò)程 315 25.4.1 設(shè)計(jì)窗體 315 25.4.2 獲取并播放語(yǔ)音 315 25.4.3 數(shù)字鍵輸入 316 25.4.4 點(diǎn)輸入 317 25.4.5 其他符號(hào)輸入 317 25.4.6 實(shí)現(xiàn)計(jì)算及語(yǔ)音播放功能 319 25.4.7 語(yǔ)音設(shè)置的實(shí)現(xiàn) 320 第26章 Word與PDF轉(zhuǎn)換工具——C# + Spire.PDF組件 + Spire.Doc組件實(shí)現(xiàn) 26.1 案例效果預(yù)覽 323 26.2 案例準(zhǔn)備 323 26.3 業(yè)務(wù)流程 323 26.4 實(shí)現(xiàn)過(guò)程 324 26.4.1 設(shè)計(jì)窗體 324 26.4.2 設(shè)置轉(zhuǎn)換文件及格式 324 26.4.3 Word轉(zhuǎn)換為PDF的實(shí)現(xiàn) 325 26.4.4 PDF轉(zhuǎn)換為Word的實(shí)現(xiàn) 326 第27章 EXE文件加密器——WMI+文件流+注冊(cè)表+異或加密算法實(shí)現(xiàn) 27.1 案例效果預(yù)覽 329 27.2 案例準(zhǔn)備 329 27.3 業(yè)務(wù)流程 329 27.4 實(shí)現(xiàn)過(guò)程 330 27.4.1 獲取加密字符串的信息 330 27.4.2 對(duì)生成后的數(shù)據(jù)進(jìn)行加密 333 27.4.3 對(duì)EXE文件進(jìn)行加密 335 27.4.4 解密文件的設(shè)置 337 第28章 365桌面提醒器——多線程+數(shù)據(jù)庫(kù)+注冊(cè)表技術(shù)實(shí)現(xiàn) 28.1 案例效果預(yù)覽 343 28.2 案例準(zhǔn)備 343 28.3 業(yè)務(wù)流程 344 28.3.1 提醒設(shè)置流程 344 28.3.2 計(jì)劃錄入流程 344 28.3.3 計(jì)劃查詢流程 344 28.3.4 計(jì)劃統(tǒng)計(jì)流程 345 28.4 數(shù)據(jù)庫(kù)設(shè)計(jì) 345 28.5 公共類(lèi)設(shè)計(jì) 345 28.5.1 封裝數(shù)據(jù)值和顯示值的類(lèi) 345 28.5.2 綁定和顯示數(shù)據(jù)的類(lèi) 346 28.6 提醒設(shè)置模塊設(shè)計(jì) 346 28.6.1 提醒設(shè)置功能概述 346 28.6.2 提醒設(shè)置界面設(shè)計(jì) 347 28.6.3 打開(kāi)提醒設(shè)置界面 347 28.6.4 保存提示設(shè)置 347 28.7 計(jì)劃錄入模塊設(shè)計(jì) 348 28.7.1 計(jì)劃錄入功能概述 348 28.7.2 計(jì)劃錄入界面設(shè)計(jì) 348 28.7.3 打開(kāi)計(jì)劃錄入界面 349 28.7.4 添加計(jì)劃任務(wù) 349 28.7.5 保存計(jì)劃任務(wù) 350 28.7.6 刪除計(jì)劃任務(wù) 351 28.8 計(jì)劃查詢模塊設(shè)計(jì) 352 28.8.1 計(jì)劃查詢功能概述 352 28.8.2 計(jì)劃查詢界面設(shè)計(jì) 352 28.8.3 打開(kāi)計(jì)劃查詢界面 353 28.8.4 查詢計(jì)劃信息 353 28.8.5 處理計(jì)劃 354 28.9 計(jì)劃統(tǒng)計(jì)模塊設(shè)計(jì) 354 28.9.1 計(jì)劃統(tǒng)計(jì)功能概述 354 28.9.2 計(jì)劃統(tǒng)計(jì)界面設(shè)計(jì) 354 28.9.3 統(tǒng)計(jì)計(jì)劃信息 355 第29章 《華容道》游戲——C#+鼠標(biāo)鍵盤(pán)處理技術(shù)實(shí)現(xiàn) 29.1 案例效果預(yù)覽 357 29.2 案例準(zhǔn)備 357 29.3 業(yè)務(wù)流程 357 29.4 實(shí)現(xiàn)過(guò)程 358 29.4.1 設(shè)計(jì)窗體 358 29.4.2 初始化各位置可用狀態(tài) 358 29.4.3 設(shè)置人物選中狀態(tài) 358 29.4.4 游戲邏輯的實(shí)現(xiàn) 359 29.4.5 重新開(kāi)始游戲 363 第30章 貪吃蛇大作戰(zhàn)——C#+GDI+技術(shù)+鍵盤(pán)處理實(shí)現(xiàn) 30.1 案例效果預(yù)覽 365 30.2 案例準(zhǔn)備 365 30.3 業(yè)務(wù)流程 365 30.4 實(shí)現(xiàn)過(guò)程 366 30.4.1 創(chuàng)建項(xiàng)目并導(dǎo)入資源文件 366 30.4.2 設(shè)計(jì)窗體 367 30.4.3 初始化游戲場(chǎng)景及蛇身 368 30.4.4 控制游戲的開(kāi)始、暫停和結(jié)束 369 30.4.5 移動(dòng)貪吃蛇并控制其速度 371 第3 篇 應(yīng)用篇 第31章 網(wǎng)絡(luò)多任務(wù)下載器——C#+Thread多線程+斷點(diǎn)續(xù)傳技術(shù)實(shí)現(xiàn) 31.1 系統(tǒng)需求分析 374 31.1.1 系統(tǒng)概述 374 31.1.2 系統(tǒng)可行性分析 374 31.1.3 系統(tǒng)用戶角色分配 374 31.1.4 功能性需求分析 374 31.1.5 非功能性需求分析 375 31.2 系統(tǒng)功能設(shè)計(jì) 375 31.2.1 系統(tǒng)功能結(jié)構(gòu) 375 31.2.2 系統(tǒng)業(yè)務(wù)流程 375 31.2.3 系統(tǒng)預(yù)覽 375 31.3 系統(tǒng)開(kāi)發(fā)必備 376 31.3.1 系統(tǒng)開(kāi)發(fā)環(huán)境 376 31.3.2 文件夾組織結(jié)構(gòu) 376 31.4 公共類(lèi)設(shè)計(jì) 377 31.4.1 Set系統(tǒng)設(shè)置類(lèi) 377 31.4.2 DownLoad文件下載類(lèi) 379 31.4.3 xuchuan斷點(diǎn)續(xù)傳類(lèi) 382 31.5 主窗體設(shè)計(jì) 383 31.5.1 主窗體概述 383 31.5.2 主窗體的業(yè)務(wù)流程 384 31.5.3 設(shè)計(jì)主窗體 384 31.5.4 初始化控件及下載任務(wù)狀態(tài) 385 31.5.5 打開(kāi)新建下載任務(wù)窗體 391 31.5.6 開(kāi)始、暫停、刪除及續(xù)傳操作 391 31.5.7 網(wǎng)絡(luò)速度實(shí)時(shí)監(jiān)控 393 31.5.8 退出程序時(shí)保存續(xù)傳文件 393 31.5.9 打開(kāi)系統(tǒng)設(shè)置窗體 394 31.6 新建下載任務(wù)窗體設(shè)計(jì) 395 31.6.1 新建下載任務(wù)概述 395 31.6.2 新建下載任務(wù)的業(yè)務(wù)流程 395 31.6.3 設(shè)計(jì)新建下載任務(wù)界面 395 31.6.4 顯示默認(rèn)下載路徑 396 31.6.5 選擇下載文件保存位置 396 31.6.6 自動(dòng)獲取下載文件名 396 31.6.7 確認(rèn)下載文件信息 397 31.7 系統(tǒng)設(shè)置窗體設(shè)計(jì) 398 31.7.1 系統(tǒng)設(shè)置窗體概述 398 31.7.2 系統(tǒng)設(shè)置的業(yè)務(wù)流程 398 31.7.3 設(shè)計(jì)系統(tǒng)設(shè)置窗體 398 31.7.4 顯示用戶的默認(rèn)設(shè)置 399 31.7.5 切換設(shè)置界面 400 31.7.6 保存用戶設(shè)置 401 第32章 明日ERP管理系統(tǒng)——WinForm+SQL Server+事務(wù)處理技術(shù)實(shí)現(xiàn) 32.1 系統(tǒng)需求分析 404 32.1.1 系統(tǒng)概述 404 32.1.2 系統(tǒng)可行性分析 404 32.1.3 系統(tǒng)用戶角色分配 404 32.1.4 功能性需求分析 404 32.1.5 非功能性需求分析 405 32.2 系統(tǒng)功能設(shè)計(jì) 405 32.2.1 系統(tǒng)功能結(jié)構(gòu) 405 32.2.2 系統(tǒng)業(yè)務(wù)流程 406 32.2.3 系統(tǒng)預(yù)覽 406 32.3 系統(tǒng)開(kāi)發(fā)必備 406 32.3.1 系統(tǒng)開(kāi)發(fā)環(huán)境 406 32.3.2 文件夾組織結(jié)構(gòu) 407 32.4 數(shù)據(jù)庫(kù)設(shè)計(jì) 407 32.4.1 數(shù)據(jù)庫(kù)概要說(shuō)明 407 32.4.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 408 32.5 公共類(lèi)設(shè)計(jì) 411 32.5.1 DataBase類(lèi) 412 32.5.2 CommonUse類(lèi) 414 32.6 物料清單模塊設(shè)計(jì) 418 32.6.1 物料清單模塊概述 418 32.6.2 物料清單模塊的業(yè)務(wù)流程 418 32.6.3 設(shè)計(jì)物料清單窗體 418 32.6.4 獲取所有母件信息 419 32.6.5 獲取指定母件的子件信息 419 32.6.6 打開(kāi)物料清單編輯窗體 420 32.6.7 添加/修改物料清單 421 32.7 銷(xiāo)售收款單模塊設(shè)計(jì) 422 32.7.1 銷(xiāo)售收款單模塊概述 422 32.7.2 銷(xiāo)售收款單模塊的業(yè)務(wù)流程 423 32.7.3 設(shè)計(jì)銷(xiāo)售收款單窗體 423 32.7.4 查看已審核的銷(xiāo)售出庫(kù)單 424 32.7.5 查看指定出庫(kù)單的詳細(xì)信息 424 32.8 操作權(quán)限模塊設(shè)計(jì) 425 32.8.1 操作權(quán)限模塊概述 425 32.8.2 操作權(quán)限模塊的業(yè)務(wù)流程 425 32.8.3 設(shè)計(jì)操作權(quán)限窗體 425 32.8.4 初始化用戶及其權(quán)限列表 426 32.8.5 查看操作員的權(quán)限 428 32.8.6 修改操作員權(quán)限 429
ISBN:978-7-122-40197-7
語(yǔ)種:漢文
開(kāi)本:16
出版時(shí)間:2022-02-01
裝幀:平
頁(yè)數(shù):430