GIÁO TRÌNH - NGÔN NGỮ LẬP TRÌNH C#

GIÁO TRÌNH - NGÔN NGỮ LẬP TRÌNH C#



1. Microsoft .NET....................................................................................10
Tình hình trước khi MS.NET ra đời................................................10
Nguồn gốc của .NET................................................................................12
Microsoft .NET................................................................................12
Tổng quan................................................................................................ 12
Kiến trúc .NET Framework..................................................................... 13
Common Language Runtime................................................................... 15
Thư viện .NET Framework.......................................................................16
Phát triển ứng dụng client........................................................................ 16

Biên dịch và MSIL...........................................................................17
Ngôn ngữ C#....................................................................................18

2. Ngôn ngữ C#.........................................................................................20
Tại sao phải sử dụng ngôn ngữ C#..................................................20
C# là ngôn ngữ đơn giản..........................................................................20
C# là ngôn ngữ hiện đại........................................................................... 21
C# là ngôn ngữ hướng đối tượng............................................................. 21
C# là ngôn ngữ mạnh mẽ......................................................................... 22
C# là ngôn ngữ ít từ khóa.........................................................................22
C# là ngôn ngữ module hóa..................................................................... 22
C# sẽ là ngôn ngữ phổ biến......................................................................22

Ngôn ngữ C# với ngôn ngữ khác.............................................................23
Các bước chuẩn bị cho chương trình....................................................... 24
Chương trình C# đơn giản....................................................................... 25
Phát triển chương trình minh họa.............................................................31
Câu hỏi & bài tập..................................................................................... 35

3. Nền tảng ngôn ngữ C#..................................................................................39
Kiểu dữ liệu..............................................................................................40
Kiểu dữ liệu xây dựng sẵn....................................................................... 41
Chọn kiểu dữ liệu.....................................................................................42
Chuyển đổi kiểu dữ liệu........................................................................... 43

Biến và hằng............................................................................................ 44
Gán giá trị xác định cho biến................................................................... 45
Hằng.........................................................................................................46
Kiểu liệt kê...............................................................................................47
2

Ngôn Ngữ Lập Trình C#Kiểu chuỗi ký tự.....................................................50
Định danh.................................................................................................50

Biểu thức..................................................................................................50
Khoảng trắng............................................................................................51
Câu lệnh................................................................................................... 51

Phân nhánh không có điều kiện............................................................... 52
Phân nhánh có điều kiện.......................................................................... 53
Câu lệnh lặp............................................................................................. 60

Toán tử..................................................................................................... 68
Namespace............................................................................................... 76
Các chỉ dẫn biên dịch...............................................................................80
Câu hỏi & bài tập..................................................................................... 82

4. Xây dựng lớp - Đối tượng............................................................................87
Định nghĩa lớp......................................................................................... 88
Thuộc tính truy cập.................................................................................. 91
Tham số của phương thức........................................................................92

Tạo đối tượng...........................................................................................93
Bộ khởi dựng............................................................................................93
Khởi tạo biến thành viên..........................................................................96
Bộ khởi dựng sao chép.............................................................................98
Từ khóa this............................................................................................. 99

Sử dụng các thành viên static...................................................................100
Gọi phương thức static.............................................................................101
Sử dụng bộ khởi dựng static.................................................................... 101
Sử dụng bộ khởi dựng private..................................................................102
Sử dụng thuộc tính static..........................................................................102

Hủy đối tượng.......................................................................................... 104
Truyền tham số.........................................................................................107
Nạp chồng phương thức...........................................................................112
Đóng gói dữ liệu với thuộc tính............................................................... 116
Thuộc tính chỉ đọc................................................................................... 119
Câu hỏi & bài tập..................................................................................... 121

5. Kế thừa – Đa hình..........................................................................................125
Đặc biệt hóa và tổng quát hóa..................................................................126
Sự kế thừa................................................................................................ 129

Thực thi kế thừa....................................................................................... 129
Gọi phương thức khởi dựng của lớp cơ sở...............................................131
Gọi phương thức của lớp cơ sở................................................................132
3

Ngôn Ngữ Lập Trình C#Điều khiển truy xuất............................................132
Đa hình.....................................................................................................133
Kiểu đa hình.............................................................................................133
Phương thức đa hình................................................................................ 133
Từ khóa new và override......................................................................... 137

Lớp trừu tượng.........................................................................................139
Gốc của tất cả các lớp- lớp Object........................................................... 142
Boxing và Unboxing dữ liệu....................................................................144
Boxing dữ liệu ngầm định........................................................................144
Unboxing phải thực hiện tường minh...................................................... 145

Các lớp lồng nhau.................................................................................... 147
Câu hỏi & bài tập..................................................................................... 149

6. Nạp chồng toán tử..........................................................................................153
Sử dụng từ khóa operator.........................................................................153
Hỗ trợ ngôn ngữ .NET khác.....................................................................154
Sử dụng toán tử........................................................................................154
Toán tử so sánh bằng............................................................................... 156
Toán tử chuyển đổi...................................................................................157
Câu hỏi & bài tập..................................................................................... 163

7. Cấu trúc............................................................................................................. 165
Định nghĩa một cấu trúc...........................................................................165
Tạo cấu trúc..............................................................................................168

Cấu trúc là một kiểu giá trị...................................................................... 168
Gọi bộ khởi dựng mặc định..................................................................... 169
Tạo cấu trúc không gọi new.....................................................................170

Câu hỏi & bài tập..................................................................................... 172
8. Thực thi giao diện.......................................................................................... 176
Thực thi giao diện.................................................................................... 177
Thực thi nhiều giao diện.......................................................................... 180
Mở rộng giao diện....................................................................................181
Kết hợp các giao diện...............................................................................181

Truy cập phương thức giao diện..................................................... 187
Gán đối tượng cho giao diện....................................................................187
Toán tử is................................................................................................. 188
Toán tử as.................................................................................................190
Giao diện đối lập với trừu tượng..............................................................192

Thực thi phủ quyết giao diện...........................................................193
Thực thi giao diện tường minh.........................................................197

4
Ngôn Ngữ Lập Trình C#Lựa chọn thể hiện phương thức giao diện.........200
Ẩn thành viên...........................................................................................200
Câu hỏi & bài tập............................................................................. 207
9. Mảng, chỉ mục, và tập hợp......................................................................... 211
Mảng........................................................................................................ 212
Khai báo mảng......................................................................................... 213
Giá trị mặc định....................................................................................... 214
Truy cập các thành phần trong mảng....................................................... 214
Khởi tạo thành phần trong mảng..............................................................216
Sử dụng từ khóa params...........................................................................216

Câu lệnh foreach...................................................................................... 218
Mảng đa chiều..........................................................................................220

Mảng đa chiều cùng kích thước............................................................... 220
Mảng đa chiều có kích thước khác nhau..................................................224
Chuyển đổi mảng..................................................................................... 227

Bộ chỉ mục............................................................................................... 232
Bộ chỉ mục và phép gán...........................................................................236
Sử dụng kiểu chỉ số khác......................................................................... 237

Giao diện tập hợp.....................................................................................241
Giao diện IEnumerable...................................................................... 242
Giao diện ICollection.........................................................................246
Danh sách mảng.......................................................................................247

Thực thi IComparable........................................................................ 251
Thực thi IComparer........................................................................... 254
Hàng đợi...................................................................................................259
Ngăn xếp.................................................................................................. 262
Kiểu từ điển..............................................................................................265

Hastables.......................................................................................... 266
Giao diện IDictionary.........................................................................267
Tập khóa và tập giá trị.....................................................................269

Giao diện IDictionaryEnumerator....................................................... 270
Câu hỏi & bài tập..................................................................................... 271

10. Xử lý chuỗi..................................................................................................... 275
Lớp đối tượng string................................................................................ 276
Tạo một chuỗi.......................................................................................... 276
Tạo một chuỗi dùng phương thức ToString.............................................277
Thao tác trên chuỗi...................................................................................278
Tìm một chuỗi con...................................................................................285
5

Ngôn Ngữ Lập Trình C#Chia chuỗi................................................................................................ 286
Thao tác trên chuỗi dùng StringBuilder...................................................288

Các biểu thức quy tắc...............................................................................290
Sử dụng biểu thức quy tắc qua lớp Regex................................................291
Sử dụng Regex để tìm tập hợp.................................................................294
Sử dụng Regex để gom nhóm..................................................................295
Sử dụng CaptureCollection......................................................................298

Câu hỏi & bài tập..................................................................................... 301
11. Cơ chế ủy quyền và sự kiện......................................................................303
Ủy quyền.................................................................................................. 304
Sử dụng ủy quyền xác nhận phương thức lúc thực thi.............................304
Ủy quyền tĩnh...........................................................................................314
Dùng ủy quyền như thuộc tính.................................................................315
Thiết lập thứ tự thi hành với mảng ủy quyền........................................... 316
Multicasting............................................................................................. 320

Sự kiện..................................................................................................... 324
Cơ chế publishing- subscribing..........................................................................324
Sự kiện và ủy quyền...........................................................................................325

Câu hỏi & bài tập..................................................................................... 333
12. Các lớp cơ sở .NET......................................................................................335
Lớp đối tượng trong .NET Framework....................................................335
Lớp Timer................................................................................................ 337
Lớp về thư mục và hệ thống.................................................................... 340
Lớp Math..................................................................................................342
Lớp thao tác tập tin.......................................................................... ........345
Làm việc với tập tin dữ liệu..................................................................... 351
Câu hỏi & bài tập..................................................................................... 362

13. Xử lý ngoại lệ...............................................................................................364
Phát sinh và bắt giữ ngoại lệ.....................................................................365
Câu lệnh throw....................................................................................................365
Câu lệnh catch.....................................................................................................367
Câu lệnh finally...................................................................................................373

Những đối tượng ngoại lệ........................................................................ 375
Tạo riêng các ngoại lệ.............................................................................. 378
Phát sinh lại ngoại lệ................................................................................ 381
Câu hỏi & bài tập..................................................................................... 385


Tải full giáo trình tại đây:
ngôn ngữ lập trình c#

Baca juga

Nhận xét