
http://vietjack.com/csharp/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 1
Mục lục
Học C# cơ bản và nâng cao ................................................................................................. 8
Đối với độc giả ...................................................................................................................... 8
Điều kiện tiền đề ................................................................................................................... 8
Tổng quan về C# .................................................................................................................. 8
Các đặc điểm lập trình mạnh mẽ của C# .......................................................................... 9
Cài đặt môi trường C# .......................................................................................................... 9
Giới thiệu .Net Framework .............................................................................................. 10
Integrated Development Environment (IDE) cho C# ....................................................... 10
Viết chương trình C# trên Linux hoặc Mac OS ................................................................ 11
Cấu trúc chương trình C# ................................................................................................... 11
Tạo chương trình Hello World trong C# .......................................................................... 11
Biên dịch và thực thi chương trình C# ............................................................................. 13
Cú pháp C# cơ bản ............................................................................................................ 14
Từ khóa using trong C# .................................................................................................. 16
Từ khóa class trong C# ................................................................................................... 16
Comments trong C# ....................................................................................................... 16
Biến thành viên trong C# ................................................................................................. 16
Hàm thành viên trong C# ................................................................................................ 16
Thuyết minh một Class trong C# ..................................................................................... 16
Định danh (Identifier) trong C# ........................................................................................ 17
Từ khóa trong C# ............................................................................................................ 17
Kiểu dữ liệu trong C# .......................................................................................................... 18
Kiểu giá trị trong C# ......................................................................................................... 19
Kiểu tham chiếu trong C# ................................................................................................ 21
Kiểu object trong C# ............................................................................................... 21
Kiểu Dynamic trong C# .......................................................................................... 21
Kiểu string trong C# ................................................................................................ 22

http://vietjack.com/csharp/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 2
Kiểu con trỏ trong C# ...................................................................................................... 22
Chuyển đổi kiểu trong C# .................................................................................................... 22
Phương thức chuyển đổi kiểu trong C# .......................................................................... 23
Biến trong C# ...................................................................................................................... 26
Định nghĩa biến trong C# ................................................................................................ 27
Khởi tạo biến trong C# .................................................................................................... 27
Nhận giá trị từ người dùng trong C# ................................................................................ 29
Biểu thức lvalue và rvalue trong C# ................................................................................. 29
Hằng (Constant/Literal) trong C# ......................................................................................... 29
Hằng số nguyên trong C# ............................................................................................... 30
Hằng số thực trong C# .................................................................................................... 31
Hằng ký tự trong C# ........................................................................................................ 31
Hằng chuỗi trong C# ....................................................................................................... 33
Định nghĩa hằng trong C# ............................................................................................... 33
Toán tử trong C# ................................................................................................................ 34
Toán tử số học trong C# ................................................................................................. 34
Toán tử quan hệ trong C# ............................................................................................... 35
Toán tử logic trong C# .................................................................................................... 36
Toán tử so sánh bit trong C# ........................................................................................... 37
Toán tử gán trong C# ...................................................................................................... 40
Các toán tử hỗn hợp trong C# ........................................................................................ 42
Thứ tự ưu tiên toán tử trong C# ...................................................................................... 43
Điều khiển luồng trong C# ................................................................................................... 44
Toán tử ? : trong C# ........................................................................................................ 46
Vòng lặp trong C# ............................................................................................................... 46
Các lệnh điều khiển vòng lặp trong C# ............................................................................ 47
Vòng lặp vô hạn trong C# ............................................................................................... 47
Ví dụ .......................................................................................................................... 48
Tính đóng gói trong C# ....................................................................................................... 48

http://vietjack.com/csharp/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 3
Public Access Specifier trong C# .................................................................................... 49
Private Access Specifier trong C# ................................................................................... 50
Protected Access Specifier trong C# ............................................................................... 52
Internal Access Specifier trong C#................................................................................... 52
Protected Internal Access Specifier trong C# ................................................................... 54
Phương thức trong C# ........................................................................................................ 54
Định nghĩa phương thức trong C# .................................................................................. 54
Ví dụ ............................................................................................................................... 55
Gọi phương thức trong C# .............................................................................................. 56
Gọi phương thức đệ qui trong C# ................................................................................... 58
Truyền tham số cho phương thức trong C# .................................................................... 59
Nullable trong C# ................................................................................................................ 60
Toán tử ?? trong C# ........................................................................................................ 61
Mảng (Array) trong C# ........................................................................................................ 62
Khai báo mảng trong C# ................................................................................................. 62
Khởi tạo mảng trong C# .................................................................................................. 63
Gán giá trị cho một mảng trong C# ................................................................................. 63
Truy cập các phần tử mảng trong C# .............................................................................. 64
Sử dụng vòng lặp foreach trong C# ................................................................................ 65
Chi tiết về mảng trong C# ................................................................................................ 66
Chuỗi (String) trong C# ....................................................................................................... 67
Tạo một đối tượng String trong C# .................................................................................. 67
Các thuộc tính của lớp String trong C# ............................................................................ 69
Phương thức của lớp String trong C# ............................................................................. 69
Ví dụ ............................................................................................................................... 74
Cấu trúc (Structure) trong C# .............................................................................................. 77
Định nghĩa cấu trúc trong C# .......................................................................................... 77
Đặc điểm của cấu trúc trong C# ...................................................................................... 79
Phân biệt Class và Structure trong C#............................................................................. 80

http://vietjack.com/csharp/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 4
Enum trong C# ................................................................................................................... 82
Khai báo biến enum trong C# ......................................................................................... 82
Ví dụ ............................................................................................................................... 83
Lớp (Class) trong C#........................................................................................................... 83
Định nghĩa một Class trong C# ....................................................................................... 84
Hàm thành viên và tính đóng gói trong C# ...................................................................... 86
Constructor trong C# ....................................................................................................... 88
Destructor trong C# ......................................................................................................... 91
Thành viên Static của một Class trong C#....................................................................... 92
Tính kế thừa trong C# ......................................................................................................... 95
Lớp cơ sở (Base Class) và Lớp thừa kế (Derived Class) trong C# ................................. 95
Khởi tạo Lớp cơ sở (Base Class) trong C# ..................................................................... 97
Đa kế thừa trong C# ....................................................................................................... 99
Tính đa hình trong C# ....................................................................................................... 101
Đa hình static trong C# .................................................................................................. 101
Nạp chồng hàm trong C# .............................................................................................. 102
Đa hình dynamic trong C# ............................................................................................ 103
Nạp chồng toán tử trong C# .............................................................................................. 107
Triển khai Nạp chồng toán tử trong C# ......................................................................... 107
Toán tử có thể nạp chồng và không thể nạp chồng trong C# ........................................ 110
Ví dụ ............................................................................................................................. 111
Interface trong C# ............................................................................................................. 117
Khai báo Interface trong C# .......................................................................................... 117
Ví dụ ............................................................................................................................. 117
Namespace trong C# ........................................................................................................ 120
Định nghĩa một Namespace trong C# ........................................................................... 120
Từ khóa using trong C# ................................................................................................ 121
Lồng Namespace trong C# ........................................................................................... 123
Chỉ thị tiền xử lý trong C# .................................................................................................. 125

http://vietjack.com/csharp/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 5
Các chỉ thị tiền xử lý trong C# ........................................................................................ 125
Chỉ thị tiền xử lý #define trong C# .................................................................................. 126
Chỉ thị có điều kiện (Conditional Directive) trong C# ....................................................... 127
Regular Expression trong C# ............................................................................................ 128
Construct cho định nghĩa Regular Expression trong C# ................................................ 128
Lớp Regex trong C# ..................................................................................................... 129
Ví dụ 1 .......................................................................................................................... 130
Ví dụ 2 .......................................................................................................................... 131
Ví dụ 3 .......................................................................................................................... 132
Xử lý ngoại lệ (Exception Handling) trong C# .................................................................... 133
Cú pháp ........................................................................................................................ 134
Lớp Exception trong C# ................................................................................................ 135
Xử lý ngoại lệ ( Exception Handling) trong C# ............................................................... 136
Tạo User-Defined Exception trong C# .......................................................................... 137
Ném các Object trong C# .............................................................................................. 139
File I/O trong C# ................................................................................................................ 139
Lớp I/O trong C# ........................................................................................................... 139
Lớp FileStream trong C#............................................................................................... 140
Ví dụ ............................................................................................................................. 142
Hoạt động File nâng cao trong C# ................................................................................ 143
Attribute trong C# .............................................................................................................. 143
Xác định một Attribute trong C# .................................................................................... 144
Attribute được định nghĩa trước trong C# ...................................................................... 144
AttributeUsage trong C# ................................................................................................ 144
Conditional trong C# ..................................................................................................... 145
Obsolete trong C# ......................................................................................................... 147
Tạo Custom Attribute trong C# ...................................................................................... 148
Khai báo một Custom Attribute trong C# ....................................................................... 149
Xây dựng Custom Attribute trong C# ............................................................................ 149

