Đồ án Tìm hiểu ngôn ngữ C# và viết một ứng dụng minh họa
Mục lục
Lời cám ơn.3
Mục lục .4
Tóm tắt.1
Phần 1 Tìm hiểu ngôn ngữC#.1
Chương 1 C# và .Net Framework.2
1.1 Nền tảng của .NET.2
1.2 .NET Framework .3
1.3 Biên dịch và ngôn ngữtrung gian (MSIL).4
1.4 Ngôn ngữC# .5
Chương 2 Khởi đầu.6
2.1 Lớp, đối tượng và kiểu .6
2.2 Phát triển “Hello World”.8
Chương 3 Những cơsởcủa ngôn ngữC# .12
3.1 Các kiểu.12
3.2 Biến và hằng.14
3.3 Biểu thức .16
3.4 Khoảng trắng.16
3.5 Câu lệnh .16
3.6 Toán tử.19
3.7 Tạo vùng tên.21
3.8 Chỉthịtiền xửlý .22
Chương 4 Lớp và đối tượng.24
4.1 Định nghĩa lớp.24
4.2 Tạo đối tượng .25
4.3 Sửdụng các thành viên tĩnh .27
4.4 Hủy đối tượng .29
4.5 Truyền tham số.30
4.6 Nạp chồng phương thức và hàm dựng .32
4.7 Đóng gói dữliệu với property.33
Chương 5 Thừa kếvà Đa hình.35
5.1 Đặc biệt hoá và tổng quát hoá.35
5.2 Sựkếthừa.35
5.3 Đa hình .37
5.4 Lớp trừu tượng .38
5.5 Lớp gốc của tất cảcác lớp: Object.39
5.6 Kiểu Boxing và Unboxing .40
5.7 Lớp lồng .42
Chương 6 Nạp chồng toán tử.44
6.1 Cách dùng từkhoá operator .44
6.2 Cách hổtrợcác ngôn ngữ.Net khác .44
6.3 Sựhữu ích của các toán tử.44
6.4 Các toán tửlogic hai ngôi .45
6.5 Toán tửso sánh bằng.45
6.6 Toán tửchuyển đổi kiểu (ép kiểu) .45
Chương 7 Cấu trúc.48
7.1 Định nghĩa cấu trúc .48
7.2 Cách tạo cấu trúc.49
Chương 8 Giao diện.50
8.1 Cài đặt một giao diện .50
8.2 Truy xuất phương thức của giao diện .52
8.3 Nạp chồng phần cài đặt giao diện .54
8.4 Thực hiện giao diện một cách tường minh .55
Chương 9 Array, Indexer, and Collection .58
9.1 Mảng (Array) .58
9.2 Câu lệnh foreach .59
9.3 Indexers .62
9.4 Các giao diện túi chứa.65
9.5 Array Lists.65
9.6 Hàng đợi.65
9.7 Stacks .66
9.8 Dictionary.66
Chương 10 Chuỗi.67
10.1 Tạo chuỗi mới .67
10.2 Phương thức ToString() .67
10.3 Thao tác chuỗi.68
10.4 Thao tác chuỗi động.70
Chương 11 Quản lý lỗi.72
11.1 Ném và bắt biệt lệ.73
11.2 Đối tượng Exception .80
11.3 Các biệt lệtựtạo .82
11.4 Ném biệt lệlần nữa. .83
Chương 12 Delegate và Event .87
12.1 Delegate (ủy thác, ủy quyền) .87
12.2 Event (Sựkiện) .101
Chương 13 Lập trình với C#.109
13.1 Ứng dụng Windows với Windows Form.109
Chương 14 Truy cập dữliệu với ADO.NET .144
14.1 Cơsởdữliệu và ngôn ngữtruy vấn SQL .144
14.2 Một sốloại kết nối hiện đang sửdụng .144
14.3 Kiến trúc ADO.NET .145
14.4 Mô hình đối tượng ADO.NET .146
14.5 Trình cung cấp dữliệu (.NET Data Providers).148
14.6 Khởi sựvới ADO.NET .148
14.7 Sửdụng trình cung cấp dữliệu được quản lý .151
14.8 Làm việc với các điều khiển kết buộc dữliệu .152
14.9 Thay đổi các bản ghi của cơsởdữliệu.161
Chương 15 Ứng dụng Web với Web Forms.173
1.1 Tìm hiểu vềWeb Forms.173
15.1 Các sựkiện của Web Forms .174
15.2 Hiển thịchuỗi lên trang.175
15.3 Điều khiển xác nhận hợp.178
15.4 Một sốví dụmẫu minh họa .179
Chương 16 Các dịch vụWeb.192
Chương 17 Assemblies và Versioning.196
17.1 Tập tin PE.196
17.2 Metadata.196
17.3 Ranh giới an ninh .196
17.4 Sốhiệu phiên bản (Versioning) .196
17.5 Manifest.196
17.6 Đa Module Assembly.197
17.7 Assembly nội bộ(private assembly) .198
17.8 Assembly chia sẻ(shared assembly).198
Chương 18 Attributes và Reflection .200
18.1 Attributes.200
18.2 Attribute mặc định (intrinsic attributes).200
18.3 Attribute do lập trình viên tạo ra.201
18.4 Reflection .203
Chương 19 Marshaling và Remoting.204
19.1 Miền Ứng Dụng (Application Domains).204
19.2 Context .206
19.3 Remoting .208
Chương 20 Thread và Sự Đồng Bộ.215
20.1 Thread .215
20.2 Đồng bộhóa (Synchronization) .216
20.3 Race condition và DeadLock .221
Chương 21 Luồng dữliệu.223
21.1 Tập tin và thưmục .223
21.2 Đọc và ghi dữliệu .230
21.3 Bất đồng bộnhập xuất .235
21.4 Serialization.238
21.5 Isolate Storage.244
Chương 22 Lập trình .NET và COM.246
22.1 P/Invoke .246
22.2 Con trỏ.248
Phần 2 Xây dựng một ứng dụng minh họa.250
Chương 23 Website dạy học ngôn ngữC# .251
23.1 Hiện trạng và yêu cầu.251
23.2 Phân tích hướng đối tượng.258
23.3 Thiết kếhướng đối tượng.262
ính thuộc chương. • Thông tin về các bài ví dụ minh họa lý thuyết. • Thông tin về các bài thi trắc nghiệm. • Một số thông tin khác liên quan nếu cần thiết. Tính toán • Số câu đúng cho các bài trắc nghiệm và tính điểm cho chúng. Kết xuất • Hiển thị theo cấu trúc phân cấp dạng cây về lý thuyết theo chủ đề, chương, mục chính, ý chính. • Ví dụ minh họa lý thuyết • Các bài trắc nghiệm và kết quả tương ứng • Danh sách các tham chiếu đến các Web-Site, các hình ảnh và thông tin về sách cần quảng cáo. • Các thông tin về lý thuyết, ví dụ, trắc nghiệm, sách cần để hiệu chỉnh. • Các báo cáo thống kê về các mục trên nếu có. 23.1.2.2 Yêu cầu chất lượng 2. Ứng dụng phải hiển thị thông tin một cách súch tích, ngắn gọn, trực quan đối với người dùng, phải giúp người dúng nắm bắt thông tin được nhanh nhất. 3. Phải cho phép hiệu chỉnh (Admin) trực tiếp trên ứng dụng. 4. Nội dung phải chất lượng, phù hợp với từng chủ đề, dễ hiểu. Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 258 23.2 Phân tích hướng đối tượng 23.2.1 Sơ đồ lớp đối tượng Hình 23-6 Lớp đối tượng 23.2.2 Ý nghĩa các đối tượng chính 23.2.2.1 CHỦ ĐỀ Ứng dụng có thể có nhiều chủ đề, mỗi chủ đề sẽ lưu trữ các thông tin về chính nó như : các thành phần thuộc chủ đề, giới thiệu về chủ đề, có nhiều chương. 23.2.2.2 CHƯƠNG Chương thuộc về một chủ đề nào đó, mỗi chương có một hay nhiều mục chính, ví dụ, trắc nghiệm. 23.2.2.3 MỤC CHÍNH Mục chính thuộc về một chương nào đó, mỗi mục chính có một hay nhiều ý chính con và một tập tin mô tả chi tiết cho mục chính này nếu có. 23.2.2.4 VÍ DỤ Ví dụ thuộc về một chương nào đó, mỗi ví dụ sẽ có phần mã nguồn và kết xuất tương ứng với mã nguồn này, có thể sẽ có một tập tin mô tả chi tiết về ví dụ nếu cần thiết. 23.2.2.5 CÂU TRẮC NGHIỆM Trắc nghiệm thuộc về một chương, một bài trắc nghiệm sẽ có nhiều câu hỏi, mỗi câu hỏi sẽ có một đáp án và các chọn lựa tương ứng với câu hỏi đó. 23.2.3 Bảng thuộc tính các đối tượng chính Thuộc tính đối tượng : CHỦ ĐỀ Stt Tên thuộc tính Loại Kiểu dữ liệu Ý nghĩa 1 MACHUDE PK VARCHAR(50) Mỗi chủ đề có một mã chủ đề duy nhất Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 259 2 TEN VARCHAR(50) Tên chủ đề 3 NOIDUNG VARCHAR(1000) Nội dung của chủ đề 4 SOCHUONG INT Số chương có trong chủ đề 5 TENTP VARCHAR(50) Tên thành phần : Lý thuyết, Vì dụ, Trắc nghiệm, Quản trị 6 NOIDUNGTP VARCHAR(500) Nội dung tổng quan của thành phần thuộc chủ đề Thuộc tính đối tượng : CHƯƠNG Stt Tên thuộc tính Loại Kiểu dữ liệu Ý nghĩa 1 MACHUONG PK INT Mỗi chương có một mã duy nhất 2 TEN VARCHAR(50) Tên của chương 3 NOIDUNG VARCHAR(1000) Nội dung của chương 4 SOMUCCHINH INT Số mục chính trong một chương Thuộc tính đối tượng : MỤC CHÍNH Stt Tên thuộc tính Loại Kiểu dữ liệu Ý nghĩa 1 MAMUCCHINH PK INT Mã mục chính 2 TENMC VARCHAR(100) Tên mục chính 3 GIOITHIEUMC VARCHAR(2000) Giới thiệu tổng quan tổng quan về mục chính 4 TAPTIN VARCHAR(50) Tên tập tin mô tả chi tiết về mục chính nếu có 5 NOIDUNGCTMC VARCHAR(1000) Nội dung của một ý chính con thuộc mục chính Thuộc tính đối tượng : VÍ DỤ Stt Tên thuộc tính Loại Kiểu dữ liệu Ý nghĩa 1 MAVD PK INT Mã ví dụ 2 TENVIDU VARCHAR(100) Tên của ví dụ 3 MANGUON VARCHAR(1000) Mã nguồn của một ví dụ 4 KETQUA VARCHAR(1000) Kết xuất của mã ví dụ 5 TAPTIN VARCHAR(50) Tên tập tin mô tả chi tiết về một ví dụ Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 260 Thuộc tính đối tượng : CÂU TRẮC NGHIỆM Stt Tên thuộc tính Loại Kiểu dữ liệu Ý nghĩa 1 MACAUTRACNGHIEM PK INT Mã câu trắc nghiệm 2 TEN VARCHAR(500) Tên của câu trắc nghiệm 3 NOIDUNG VARCHAR(1000) Nội dung của câu trắc nghiệm 4 TRALOI1, TRALOI2, TRALOI3, TRALOI4 VARCHAR(500) Một câu hỏi có 4 câu trả lời, ứng với 4 thuộc tính 5 DAPAN INT Đáp án của câu hỏi, có 4 giá trị : 1, 2, 3, 4 23.2.4 Các xử lý trên các đối tượng chính Xử lý trên đối tượng : CHỦ ĐỀ Stt Tên xử lý Loại Ý nghĩa 1 Hiển thị thông tin về chủ đề Qui định Hiển thị thông tin về các thành phần trong chủ đề 2 Thêm chủ đề mới Qui định Dữ liệu nhập là tên và nội dung 3 Xóa chủ đề đã có sẵn Qui định Xóa toàn bộ thông tin về chủ đề 4 Sửa đổi thông tin về chủ đề Qui định Hiệu chỉnh tên, nội dung chủ đề 5 Kiểm tra hợp lệ việc thay đổi chủ đề Qui định Kiểm tra các ràng buộc và tính hợp lệ khi thêm, xóa, sửa chủ đề 6 Lập báo cáo, thống kê Qui định Tổng kết toàn bộ thông tin về số chương, ví dụ, câu trắc nghiệm Xử lý trên đối tượng : CHƯƠNG Stt Tên xử lý Loại Ý nghĩa 1 Hiển thị thông tin về chương Qui định Hiển thị danh sách tên chương theo từng chủ đề và nội dung 2 Thêm chương mới Qui định Dữ liệu nhập là tên và nội dung 3 Xóa chương đã có sẵn Qui định Xóa toàn bộ thông tin về chương : các mục chính, ý chính 4 Sửa đổi thông tin về chương Qui định Hiệu chỉnh tên, nội dung chương 5 Kiểm tra hợp lệ việc thay đổi chương Qui định Kiểm tra các ràng buộc và tính hợp lệ khi thêm, xóa, sửa Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 261 Xử lý trên đối tượng : MỤC CHÍNH Stt Tên xử lý Loại Ý nghĩa 1 Hiển thị thông tin về mục chính thuộc chương Qui định Hiển thị danh sách các ý chính con của mục chính 2 Thêm mục chính mới Qui định Dữ liệu nhập là tên, nội dung mục chính và các ý chính con, và cả tên tập tin mô tả mục chính nếu cần thiết 3 Xóa mục chính đã có sẵn Qui định Xóa toàn bộ thông tin về mục chính : các ý chính, tên tập tin 4 Sửa đổi thông tin về mục chính Qui định Hiệu chỉnh tên, nội dung nội dung mục chính và các ý chính con nếu cần thiết 5 Kiểm tra hợp lệ việc thay đổi mục chính Qui định Kiểm tra các ràng buộc và tính hợp lệ khi thêm, xóa, sửa Xử lý trên đối tượng : VÍ DỤ Stt Tên xử lý Loại Ý nghĩa 1 Hiển thị thông tin về ví dụ Qui định Hiển thị danh sách các ví dụ của chương 2 Thêm ví dụ mới Qui định Dữ liệu nhập là tên, giới thiệu sơ về ví dụ, mã nguồn, kết xuất tương ứng và cả tên tập tin mô tả ví dụ nếu cần thiết 3 Xóa ví dụ đã có sẵn Qui định Xóa toàn bộ thông tin về ví dụ : tên, mã nguồn, kết xuất và tên tập tin 4 Sửa đổi thông tin về ví dụ Qui định Hiệu chỉnh tên, giới thiệu ví dụ, mã nguồn, kết xuất và tên tập tin nếu có. 5 Kiểm tra hợp lệ việc thay đổi ví dụ Qui định Kiểm tra các ràng buộc và tính hợp lệ khi thêm, xóa, sửa Xử lý trên đối tượng : CÂU TRẮC NGHIỆM Stt Tên xử lý Loại Ý nghĩa 1 Hiển thị thông tin về câu trắc nghiệm thuộc chương Qui định Hiển thị danh sách các câu trắc nghiệm, các câu trả lời và đáp án tương ứng của câu. 2 Thêm câu trắc nghiệm mới Qui định Dữ liệu nhập là tên, câu hỏi trắc Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 262 nghiệm, các câu chọn lựa và đáp án của câu. 3 Xóa câu trắc nghiệm đã có sẵn Qui định Xóa toàn bộ thông tin về câu trắc nghiệm : tên, câu hỏi trắc nghiệm, các câu chọn lựa và đáp án của câu. 4 Sửa đổi thông tin về câu trắc nghiệm Qui định Hiệu chỉnh tên, câu hỏi trắc nghiệm, các câu chọn lựa và đáp án của câu. 5 Kiểm tra hợp lệ việc thay đổi câu trắc nghiệm Qui định Kiểm tra các ràng buộc và tính hợp lệ khi thêm, xóa, sửa 23.3 Thiết kế hướng đối tượng 23.3.1 Thiết kế dữ liệu 23.3.1.1 Sơ đồ logic Hình 23-7 Sơ đồ logic 23.3.1.2 Bảng thuộc tính các đối tượng phụ Thuộc tính đối tượng : THAM SỐ Stt Tên thuộc tính Loại Kiểu dữ liệu Ý nghĩa 1 MATHAMSO PK INT Mã tham số 2 TEN VARCHAR(100) Tên tham số 3 GIATRI INT Giá trị tham số 4 DIENGIAI VARCHAR(100) Ý nghĩa của tham số Thuộc tính đối tượng : NGƯỜI DÙNG Stt Tên thuộc tính Loại Kiểu dữ liệu Ý nghĩa Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 263 MÀN HÌNH CHÍNH Tổng quan lý thuết Tổng quan Ví dụ Tổng quan Trắc nghiệm Quản trị Đăng nhập Lý thuyết theo chương Ví dụ theo chương Trắc nghiệm theo chương Lý thuyết Ví dụ Trắc nghiệm Thông báo lỗi Báo cáo Thống kê 1 TENNGUOIDUNG PK VARCHAR(100) Tên người dùng 2 MATMA VARCHAR(100) Mật mã 3 EMAIL VARCHAR(100) Địa chỉ mail 4 DIENTHOAI VARCHAR(100) Điện thoại 5 FAX VARCHAR(100) Số fax 23.3.2 Thiết kế giao diện 23.3.2.1 Tổng quan Sơ đồ màn hình Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 264 23.3.2.2 Một số giao diện của ứng dụng Giao diện chính Hình 23-8 Trang chủ ứng dụng dạy học CSharp • Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 265 Giao diện chi tiết lý thuyết từng chương Hình 23-9 Liệt kê chi tiết các mục chính, ý chính con trong chương số 1 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 266 Giao diện tổng quan về ví dụ Hình 23-10 Liệt kê tất cả ví dụ trong mỗi chương Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 267 Giao diện mô tả chi tiết ví dụ Hình 23-11 Minh họa lý thuyết bằng mã ví dụ và kết xuất của nó Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 268 Giao diện các câu trắc nghiệm kiến thức Hình 23-12 Trắc nghiệm kiến thức chương số 1 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 269 Kết quả bài làm trắc nghiệm Hình 23-13 Kết quả chấm điểm bài làm trắc nghiệm Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 270 Giao diện hiệu chỉnh chủ đề Hình 23-14 Cho phép thêm, xóa và sử chủ đề Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 271 Giao diện tổng quan hiệu chỉnh nội dung chi tiết của từng chủ đề Hình 23-15 Tổng quan về hiệu chỉnh lý thuyết, ví dụ và trắc nghiệm Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 272 Giao diện hiệu chỉnh chi tiết nội dung lý thuyết chương Hình 23-16 Cho phép thêm, xóa và sửa nội dung lý thuyết theo từng chương Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang 273 Giao diện hiệu chỉnh chi tiết Trắc nghiệm Hình 23-17 Giao diện thêm, xóa và sửa câu trắc nghiệm
File đính kèm:
- Đồ án Tìm hiểu ngôn ngữ C# và viết một ứng dụng minh họa.pdf