Giáo trình ngôn ngữ lập trình C#<br />
Biên tập bởi:<br />
Khuyet Danh<br />
<br />
Giáo trình ngôn ngữ lập trình C#<br />
Biên tập bởi:<br />
Khuyet Danh<br />
Các tác giả:<br />
Khuyet Danh<br />
<br />
Phiên bản trực tuyến:<br />
http://voer.edu.vn/c/cf37fa1e<br />
<br />
MỤC LỤC<br />
1. Microsoft.Net<br />
2. Ngôn ngữ C#<br />
3. Kiểu dữ liệu<br />
4. Biến và hằng<br />
5. Biểu thức và khoảng trắng<br />
6. Câu lệnh (statement)<br />
7. Toán tử<br />
8. Namespace và các chỉ dẫn biên dịch<br />
9. Định nghĩa lớp<br />
10. Tạo đối tượng<br />
11. Sử dụng các thành viên tĩnh (static member)<br />
12. Truyền tham số<br />
13. Nạp chồng phương thức<br />
14. Kế thừa - đa hình<br />
15. Nạp chồng toán tử<br />
16. Cấu trúc<br />
17. Thực thi giao diện<br />
18. Truy cập phương thức giao diện<br />
19. Mảng<br />
20. Bộ chỉ mục<br />
21. Giao diện tập hợp<br />
22. Danh sách mảng<br />
23. Hàng đợi (Queue) và ngăn xếp (Stack)<br />
24. Kiểu từ điển<br />
25. Lớp đối tượng String<br />
26. Các biểu thức quy tắc (Regular Expression)<br />
27. Cơ chế ủy quyền<br />
28. Cơ chế sự kiện<br />
29. Lớp đối tượng trong .NET Framework<br />
30. Lớp thao tác tập tin<br />
31. Làm việc với tập tin dữ liệu<br />
32. Phát sinh và bắt giữ ngoại lệ<br />
33. Những đối tượng ngoại lệ<br />
<br />
1/471<br />
<br />
Tham gia đóng góp<br />
<br />
2/471<br />
<br />
Microsoft.Net<br />
Tình hình trước khi MS.NET ra đời<br />
Cách đây vài năm Java được Sun viết ra, đã có sức mạnh đáng kể, nó hướng tới việc<br />
chạy trên nhiều hệ điều hành khác nhau, độc lập với bộ xử lý (Intel, Risc,…). Đặc biệt<br />
là Java rất thích hợp cho việc viết các ứng dụng trên Internet. Tuy nhiên, Java lại có hạn<br />
chế về mặt tốc độ và trên thực tế vẫn chưa thịnh hành. Mặc dù Sun Corporation và IBM<br />
có đẩy mạnh Java, nhưng Microsoft đã dùng ASP để làm giảm khả năng ảnh hưởng của<br />
Java.<br />
Để lập trình trên Web, lâu nay người ta vẫn dùng CGI-Perl và gần đây nhất là PHP, một<br />
ngôn ngữ giống như Perl nhưng tốc độ chạy nhanh hơn. Ta có thể triển khai Perl trên<br />
Unix/Linux hay MS Windows. Tuy nhiên có nhiều người không thích dùng do bản thân<br />
ngôn ngữ hay các qui ước khác thường và Perl không được phát triển thống nhất, các<br />
công cụ được xây dựng cho Perl tuy rất mạnh nhưng do nhiều nhóm phát triển và người<br />
ta không đảm bảo rằng tương lai của nó ngày càng tốt đẹp hơn.<br />
Trong giới phát triển ứng dụng trên Windows ta có thể viết ứng dụng bằng Visual C++,<br />
Delphi hay Visual Basic, đây là một số công cụ phổ biến và mạnh. Trong đó Visual C++<br />
là một ngôn ngữ rất mạnh và cũng rất khó sử dụng. Visual Basic thì đơn giản dễ học,<br />
dễ dùng nhất nên rất thông dụng. Lý do chính là Visual Basic giúp chúng ta có thể viết<br />
chương trình trên Windows dễ dàng mà không cần thiết phải biết nhiều về cách thức MS<br />
Windows hoạt động, ta chỉ cần biết một số kiến thức căn bản tối thiểu về MS Windows<br />
là có thể lập trình được. Do đó theo quan điểm của Visual Basic nên nó liên kết với<br />
Windows là điều tự nhiên và dễ hiểu, nhưng hạn chế là Visual Basic không phải ngôn<br />
ngữ hướng đối tượng (Object Oriented).<br />
Delphi là hậu duệ của Turbo Pascal của Borland. Nó cũng giống và tương đối dễ dùng<br />
như Visual Basic. Delphi là một ngôn ngữ hướng đối tượng. Các điều khiển dùng trên<br />
Form của Delphi đều được tự động khởi tạo mã nguồn. Tuy nhiên, chức năng khởi động<br />
mã nguồn này của Delphi đôi khi gặp rắc rối khi có sự can thiệp của người dùng vào.<br />
Sau này khi công ty Borland bị bán và các chuyên gia xây dựng nên Delphi đã chạy qua<br />
bên Microsoft, và Delphi không còn được phát triển tốt nữa, người ta không dám đầu tư<br />
triển khai phần mềm vào Delphi. Công ty sau này đã phát triển dòng sản phẩm Jbuilder<br />
(dùng Java) không còn quan tâm đến Delphi.<br />
Tuy Visual Basic bền hơn do không cần phải khởi tạo mã nguồn trong Form khi thiết kế<br />
nhưng Visual Basic cũng có nhiều khuyết điểm :<br />
• Không hỗ trợ thiết kế hướng đối tượng, nhất là khả năng thừa kế (inheritance).<br />
<br />
3/471<br />
<br />