明明白白學C#

 明明白白學C# 編程

 

 

試讀文檔下載:數組

第五章地址:http://pan.baidu.com/s/1bnnMAGv安全

第六章地址:http://pan.baidu.com/s/1bnD5cBH編程語言


前言函數

C#語言是微軟推出的一種面向對象程序開發語言。做爲微軟的主力語言,通過十多年的推廣,如今已經成爲主流語言之一。如今C#的應用領域,從原有的Windows普通程序開發和ASP.NET網站開發,已經擴展跨平臺的遊戲開發(Unity)、Android和iPhone手機應用開發(Xamarin)等領域。工具

在C#語言學習過程當中,因爲語言和文化差別,你們每每沒法正確理解編程語言,形成編程停留在簡單的Ctrl+C、Ctrl+V的模式。本教程從C#語言本質和編程理念上入手,詳細講解什麼是編程,如何編程,幫助你們真正掌握C#語言,跨入編程的殿堂。學習

1.學習所需的系統和工具網站

安裝Windows 7操做系統ui

安裝Visual Studio 2010this

2.學習建議

你們學習以前,能夠致信到xxxxxxxxxx,獲取相關的資料和軟件。若是你們在學習過程遇到問題,也能夠將問題發送到該郵箱。咱們儘量給你們解決。

目錄

第0章  準備工做 1

0.1  C#是什麼 1

0.1.1  什麼是語言 1

0.1.2  什麼是編程語言 2

0.1.3  編程語言的分類 2

0.1.4  什麼是C#編程語言 3

0.2  C#能夠作什麼 3

0.2.1  開發普通軟件 4

0.2.2  開發網站 4

0.2.3  開發遊戲--Unity 5

0.2.4  開發iOS/Android/Window Phone手機應用App 5

0.3  如何學習C# 6

0.3.1  搭建開發環境 6

0.3.2  創建第一個程序--Hello World 10

0.3.3  重要術語回顧 13

0.3.3  後續學習的路 13

第1章  數據表示 14

1.1  數據的直觀表示--字面量 14

1.1.1  整型字面量 14

1.1.2  浮點型字面量 16

1.2  文本字面量 16

1.2.1  字符和字符串的寫做規範 17

1.2.2  特殊的字符和字符串--轉義字符 17

1.2.3  更全面的表達方式--ASCII表 18

1.2.4  避免轉義字符--@ 19

1.2.5  字符串長度 19

1.3  數據的指表明示--變量 20

1.3.1  爲何使用指表明示 20

1.3.2  C#的命名規範 21

1.3.3  對變量命名 22

1.4  數據類型 23

1.4.1  數值類型 23

1.4.2  文本類型 24

1.4.3  其餘類型 25

1.5  定義一個變量 25

1.6  一種特殊的變量--常量 25

1.7  小結 26

第2章  變量和數值關聯 27

2.1  賦值 27

2.1.1  靜態賦值--固定值 27

2.1.2  動態賦值--可變值 27

2.2  驗證變量與數值的關聯 28

2.2.1  驗證的手段 28

2.2.2  驗證整數賦值 30

2.2.3  驗證明數賦值 31

2.2.4  驗證文本賦值 33

2.3  總結數據轉換規律 34

2.3.1  自動轉換 34

2.3.2  強制轉換 36

2.4  小結 37

第3章  運算--運算符與表達式 38

3.1  表達式 38

3.2  簡單賦值運算符 39

3.3  算術運算符 39

3.3.1  寫做規範 39

3.3.2  算術運算符 40

3.3.3  算術運算中的特殊狀況 41

3.4  特殊的算術運算符 43

3.4.1  操做數爲1的特殊運算--自增自減運算 43

3.4.2  操做數爲2的特殊運算--移位運算 46

3.4.3  位邏輯運算符 48

3.4.4  複合的賦值運算符 51

3.5  其餘運算符 53

3.6  運算符的優先級和結合順序 53

3.6.1  運算符的優先級 53

3.6.2  結合順序 55

3.7  小結 55

第4章  語句和語句塊 56

4.1  語句 56

4.1.1  如何構成語句 56

4.1.2  語句的種類 57

4.1.3  特殊的語句 59

4.2  語句塊的構成與做用 60

4.2.1  語句塊的構成 60

4.2.2  使用語句塊的好處 62

4.2.3  局部變量 62

4.3  語句的執行順序 63

4.3.1  順序執行的執行過程 63

4.3.2  單步調試 64

4.4  選擇執行 67

4.4.1  選擇執行的依據--條件 67

4.4.2  單值條件表達式 68

4.4.3  雙值條件表達式 68

4.4.4  多條件表達式 69

4.5  選擇執行的種類 71

4.5.1  單選擇if 71

4.5.2  雙選擇if…else 73

4.5.3  多選擇if…else…if 74

4.5.4  switch語句 76

4.6  循環執行 81

4.6.1  爲何要使用循環 81

4.6.2  當型循環while 82

4.6.3  直到型循環 84

4.6.4  更安全的循環--for循環 86

4.7  跳轉語句 87

4.7.1  continue語句只適用於循環 88

4.7.2  break語句可用於任何封閉的代碼 90

4.8  多層嵌套語句 91

4.8.1  選擇語句嵌套 91

4.8.2  循環語句嵌套 93

4.8.3  深層嵌套可使用goto語句 94

4.9  局部變量 95

4.9.1  局部變量的聲明 96

4.9.2  局部變量的做用域和生存週期 97

4.9  小結 98

第5章  函數 99

5.1  爲何有函數 99

5.1.1  拆分代碼 99

5.1.2  簡化代碼 102

5.2  函數的組成 104

5.2.1  語句塊標識--函數名 104

5.2.2  語句塊構成--函數體 105

5.2.3  語句塊結果--返回值 105

5.2.4  定義一個函數 108

5.3  函數的使用 109

5.4  函數通用化--參數 111

5.4.1  爲何有參數 111

5.4.2  普通參數--傳值 114

5.4.3  引用傳遞 116

5.4.4  傳出參數 118

5.5  特殊的函數 120

5.5.1  Main()函數 120

5.5.2  函數的重載 123

5.6  可供多個函數調用的變量 124

5.7  複雜的函數調用 125

5.6.1  遞歸調用 125

5.6.2  嵌套調用 128

5.8  小結 129

第6章  「類」 130

6.1  爲何須要類 130

6.1.1  簡潔代碼 130

6.1.2  大項目的分工合做的問題 133

6.1.3  標識符命名的問題 134

6.2  如何劃分類 135

6.3  如何定義類 137

6.3.1  代碼段標識--類名 138

6.3.2  代碼段--類體 139

6.3.3  定義一個類 140

6.3.4  Main()的歸屬地 141

6.4  類的使用 141

6.4.1  調用類自身的成員 141

6.4.2  調用另外一個類的成員 144

6.5  類之間的成員訪問--訪問修飾符 145

6.5.1  只有本身能訪問--私有 145

6.5.2  誰都能訪問--公有 146

6.5.3  爲類定義可訪問性 147

6.6  特殊的類的定義--嵌套類 152

6.6.1  嵌套類的定義和使用方法 152

6.6.2  嵌套類的訪問權限 155

6.6.3  總結 157

6.7  小結 157

第7章  對象 1

7.1  爲何要使用對象 1

7.2  如何定義對象 4

7.2.1  爲對象命名 4

7.2.2  定義一個對象 5

7.2.3  對象和類的區別 5

7.3  程序中成員的歸屬 6

7.3.1  字段的歸屬 6

7.3.2  方法的歸屬 7

7.4  如何使用對象 8

7.4.1  使用對象操做字段 8

7.4.2  使用對象操做方法 9

7.4.3  特殊的對象指代--this 10

7.5  特殊的類方法 12

7.5.1  構造方法 12

7.5.2  析構方法 19

7.5.3  比較構造方法與析構方法 20

7.6  小結 20

第8章  屬性 21

8.1  屬性的由來 21

8.2  屬性的構成 23

8.2.1  屬性的命名 23

8.2.2  屬性的類型和訪問修飾符 24

8.2.3  屬性的機制 24

8.2.4  定義一個屬性 26

8.3  屬性的應用 27

8.3.1  判斷賦值正確性 27

8.3.2  只讀/只寫屬性 29

8.3.3  方便代碼後期維護 31

8.3.4  同步處理相關字段 33

8.3.5  自動實現屬性 34

8.3.6  屬性不綁定字段 36

8.4  小結 37

第9章  繼承 38

9.1  繼承的由來 38

9.1.1  代碼重用、簡化代碼 38

9.1.2  擴展功能 40

9.1.3  繼承的定義格式 42

9.2  介於private與public之間的訪問權限--protected 43

9.3  子類從父類獲得了什麼 45

9.3.1  字段的可繼承性 45

9.3.2  方法的可繼承性 48

9.3.3  屬性的可繼承性 52

9.3.4  父類的靜態成員 56

9.4  子類從父類得不到構造方法和析構方法 57

9.4.1  子類不能繼承構造方法 57

9.4.2  隱式調用基類構造方法 58

9.4.3  顯式調用基類構造方法 59

9.4.4  建議爲基類聲明無參構造方法 62

9.4.5  析構方法 63

9.5  繼承的特色 64

9.5.1  單繼承 64

9.5.2  可傳遞 65

9.5.3  可添、不可刪 66

9.6  繼承的面向對象特性--重寫 66

9.6.1  類的虛擬成員 66

9.6.2  重寫虛成員 73

9.6.3  比較方法的重載、重寫與隱藏 76

9.7  小結 77

第10章  C#的特殊成員 78

10.1  繼承鏈引起的問題 78

10.2  虛方法在繼承鏈中的做用 80

10.2.1  千方百計解決繼承鏈引起的問題 81

10.2.2  密封方法--取消成員的虛效果 84

10.2.3  密封類 87

10.3  繼承中父類對子類添加限制 89

10.3.1  部分限制--抽象方法 89

10.3.2  限制升級--抽象類 92

10.3.3  使用抽象類 94

10.3.4  抽象類總結 97

10.4  抽象類的升級--接口 98

10.4.1  爲何要使用接口 98

10.4.2  接口的定義 98

10.4.3  接口的實現--接口繼承接口 101

10.4.4  接口的實現--類繼承接口 103

10.4.5  比較接口和抽象類 109

10.5  繼承中的特殊狀況--運算符重載 110

10.5.1  爲何重載運算符 110

10.5.2  如何重載運算符 110

10.5.3  一元運算符的重載 111

10.5.4  二元運算符的重載 115

10.5.5  轉換運算符的重載 121

10.5.6  不能重載的運算符 124

10.6  小結 126

第11章  委託和事件 127

11.1  爲何使用委託 127

11.2  委託的聲明和使用 128

11.2.1  聲明委託 128

11.2.2  建立委託對象 130

11.2.3  向委託註冊方法 131

11.2.4  使用委託 133

11.2.5  匿名方法 135

11.3  委託的合併與拆分 138

11.3.1  合併委託 139

11.3.2  合併委託的條件 144

11.3.3  拆分委託 146

11.4  委託的特殊使用--用於回調方法 147

11.5  匹配不精準--委託協變和逆變 148

11.6  一種特殊的委託--事件 152

11.6.1  事件的聲明 152

11.6.2  訂閱事件與取消訂閱事件 153

11.6.3  引起事件 155

11.6.4  使用事件 156

11.7  小結 161

第12章  特殊的系統類--數組和字符串 162

12.1  如何定義數組 162

12.1.1  初識數組 162

12.1.2  Array類 163

12.1.3  定義一個數組 164

12.1.4  初始化數組 166

12.1.5  遍歷數組 172

12.2  數組有哪些類型 176

12.2.1  一維數組 176

12.2.2  二維數組 176

12.2.3  多維數組 181

12.2.4  交錯數組 183

12.3  數組的特殊使用 192

12.3.1  做爲參數 192

12.3.2  做爲返回值 201

12.4  靜態數組 203

12.4.1  靜態數組的經常使用屬性概覽 203

12.4.2  靜態數組的經常使用方法概覽 203

12.4.3  獲取數組的秩 204

12.4.4  獲取數組長度 205

12.4.5  獲取元素的索引 211

12.4.6  獲取或設置元素的值 213

12.4.7  清除數組元素 216

12.4.8  複製數組 217

12.4.9  複製數組元素 219

12.4.10  反轉數組元素 222

12.4.11  對數組排序 224

12.5  動態數組 225

12.5.1  如何定義一個動態數組 226

12.5.2  經常使用屬性和方法 226

12.5.3  如何添加、刪除元素 227

12.5.4  清空數組 233

12.6  字符串的本質--String對象 234

12.6.1  瞭解String類 235

12.6.2  String類提供的字段、屬性和方法 235

12.6.3  獲取字符串長度 236

12.6.4  插入字符串 237

12.6.5  移除字符串 238

12.6.6  替換字符串 239

12.6.7  鏈接字符串 241

12.6.8  獲取子串 243

12.6.9  格式化字符串 244

12.7  可變字符串 250

12.7.1  瞭解StringBuilder類 250

12.7.2  StringBuilder類提供的屬性和方法 251

12.7.3  插入字符串 252

12.7.4  追加字符串 253

12.7.5  移除字符串 255

12.9  小結 256

第13章  結構和枚舉 257

13.1  認識結構 257

13.1.1  爲何要用結構 257

13.1.2  如何定義結構 258

13.1.3  結構能夠包含的成員 260

13.1.4  如何使用結構 263

13.2  結構的繼承特性 265

13.3  結構和類的區別 268

13.4  枚舉 271

13.4.1  爲何要使用枚舉 271

13.4.2  定義枚舉 272

13.4.3  如何使用枚舉 274

13.4.4  枚舉的基類Enum 276

13.4.5  枚舉的分類 279

13.5  使用枚舉須要注意一些問題 281

13.5.1  儘可能不給枚舉元素提供顯式的值 282

13.5.2  儘可能使得零是枚舉的有效值 282

13.6  小結 285

第14章  索引器 286

14.1  數組的啓發 286

14.1.1  只關注值 286

14.1.2  批量處理 287

14.2  構建簡單索引器 289

14.2.1  爲何要使用索引器 289

14.2.2  索引器的構成 290

14.2.3  數組字段應用 293

14.2.4  非數組字段應用 295

14.3  構建複雜索引器 298

14.3.1  字符串索引 299

14.3.2  多維索引器 301

14.3.3  設定索引器的上下限 304

14.4  索引器的擴展應用 307

14.4.1  索引器的重載 308

14.4.2  接口索引器 310

14.4.3  索引器在繼承中的應用 317

14.5  索引器對比 321

14.5.1  索引器VS數組 322

14.5.2  索引器VS屬性 322

14.5  小結 322

相關文章
相關標籤/搜索