Giáo trình mô đun Kỹ thuật lập trình nâng cao - Nghề: Tin học ứng dụng

ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH  
TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT  
THÀNH PHỐ HỒ CHÍ MINH  
  
GIÁO TRÌNH  
MÔ ĐUN: KỸ THUẬT LẬP TRÌNH NÂNG CAO  
NGHỀ: TIN HỌC ỨNG DỤNG  
TRÌNH ĐỘ: TRUNG CẤP  
(Ban hành kèm theo Quyết định số: /QĐ-CĐKTKT  
ngày  
tháng  
năm 2020 của Hiệu trưởng  
Trường Cao đẳng Kinh tế - Kỹ thuật Thành phố Hồ Chí Minh)  
Thành phố Hồ Chí Minh, năm 2020  
ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH  
TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT  
THÀNH PHỐ HỒ CHÍ MINH  
  
GIÁO TRÌNH  
MÔ ĐUN: KỸ THUẬT LẬP TRÌNH NÂNG CAO  
NGHỀ: TIN HỌC ỨNG DỤNG  
TRÌNH ĐỘ: TRUNG CẤP  
THÔNG TIN CHỦ NHIỆM ĐỀ TÀI  
Họ tên: Nguyễn Gia Quang Đăng  
Học vị: Thạc sỹ  
Đơn vị: Khoa Công nghệ thông tin  
TRƯỞNG KHOA  
TỔ TRƯỞNG  
BỘ MÔN  
CHỦ NHIỆM  
ĐỀ TÀI  
Võ Đào Thị Hồng Tuyết  
Lê Như Dzi  
Nguyễn Gia Quang Đăng  
HIỆU TRƯỞNG  
DUYỆT  
Tháng 10 năm 2020  
TUYÊN BỐ BẢN QUYỀN  
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép  
dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.  
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh  
thiếu lành mạnh sẽ bị nghiêm cấm.  
LỜI GIỚI THIỆU  
Giáo trình này được biên soạn dựa trên chương trình chi tiết mô đun bậc trung cấp  
chuyên ngành Tin học ứng dụng Khoa Công nghệ thông tin của Trường Cao đẳng  
Kinh tế Kỹ thuật Thành Phố Hồ Chí Minh.  
Đây là quyển giáo trình được biên soạn lần thứ nhất cho môn học này tại khoa Công  
nghệ thông tin của nhà trường. Nhằm cung cấp kiến thức nền tảng, giúp học sinh sinh  
viên nắm vững và vận dụng các kỹ thuật phổ biến viết ứng dụng trên ngôn ngữ lập  
trình C#.  
Từ đó, sinh viên có thể tự học các kiến thức chuyên sâu hơn. Trong tài liệu này tác  
giả sử dụng phương pháp lập trình trên ngôn ngữ C# truy xuất trên môi trường Dos và  
ứng dụng windows forms. Qua đó, giúp sinh viên nắm bắt kiến thức và kỹ năng thực  
hành cơ bản để vận dụng viết được các ứng dụng trong thực tiễn.  
Trong quá trình biên soạn chắc chắn giáo trình sẽ còn nhiều thiếu sót và hạn chế.  
Rất mong nhận được sự đóng góp ý kiến quý báu của học sinh sinh viên và các bạn  
đọc để giáo trình ngày một hoàn thiện hơn.  
Thành phố Hồ Chí Minh, ngày……tháng 9 năm 2020  
Tác giả biên soạn  
Nguyễn Gia Quang Đăng  
KHOA CÔNG NGHỆ THÔNG TIN  
1
MỤC LỤC  
LỜI GIỚI THIỆU.................................................................................................................................................... 1  
GIÁO TRÌNH MÔ ĐUN......................................................................................................................................... 3  
Bài 1: Giới thiệu ngôn ngữ C# ................................................................................................................................ 4  
1.1. Tổng quan về ngôn ngữ lập trình C#............................................................................................................ 4  
1.1.1. Khái niệm ngôn ngữ C#......................................................................................................................... 4  
1.1.2. .NET Framework................................................................................................................................... 5  
1.1.3. Một số công nghệ trong .NET Framework.......................................................................................... 10  
1.2. Cấu trúc chương trình C# ........................................................................................................................... 10  
1.2.1. Các thành phần chính của Visual Studio ............................................................................................. 10  
1.2.2. Cấu trúc chương trình.......................................................................................................................... 11  
1.3. Một số khái niệm cơ bản ............................................................................................................................ 12  
1.4. Tạo ứng dụng bằng C# ............................................................................................................................... 13  
1.5. Bài tập áp dụng........................................................................................................................................... 19  
Bài 2: Các thành phần cơ bản trong ngôn ngữ C#................................................................................................. 20  
2.1. Các thành phần cơ bản................................................................................................................................ 20  
2.2. Nhập/ xuất trong C# ................................................................................................................................... 24  
2.3. Các kiểu dữ liệu.......................................................................................................................................... 31  
2.4. Cách khai báo ............................................................................................................................................. 35  
2.5. Các phép toán ............................................................................................................................................. 39  
2.6. Các biểu thức.............................................................................................................................................. 45  
2.7. Các cấu trúc điều khiển .............................................................................................................................. 45  
2.8. Mảng một chiều.......................................................................................................................................... 55  
2.9. Bài tập áp dụng........................................................................................................................................... 59  
Bài 3: Chương trình con trong C# ......................................................................................................................... 62  
3.1. Đặt vấn đề................................................................................................................................................... 62  
3.2. Phạm vi hoạt động của biến, hàm............................................................................................................... 62  
3.3. Cấu trúc một hàm ....................................................................................................................................... 69  
3.4. Nguyên tắc hoạt động................................................................................................................................. 70  
3.5. Cách gọi hàm.............................................................................................................................................. 72  
3.6. Bài tập áp dụng........................................................................................................................................... 74  
Bài 4: Windows Forms.......................................................................................................................................... 75  
4.1. Giới thiệu về Windows Applications.......................................................................................................... 75  
4.1.1. Giới thiệu............................................................................................................................................. 75  
4.1.2. Tạo mới giao diện ứng dụng................................................................................................................ 76  
4.2. Các điều khiển cơ bản trong C#.................................................................................................................. 83  
4.3. Các điều khiển hộp thoại ............................................................................................................................ 87  
4.4. Bài tập áp dụng........................................................................................................................................... 98  
Bài 5: Thao tác với chuỗi .................................................................................................................................... 105  
5.1. Thao tác trên chuỗi dùng String ............................................................................................................... 105  
5.2. Thao tác trên chuỗi dùng StringBuilder.................................................................................................... 109  
5.3. Sử dụng biểu thức quy tắc qua lớp Regex ................................................................................................ 111  
5.4. Bài tập áp dụng......................................................................................................................................... 113  
TÀI LIỆU THAM KHẢO................................................................................................................................... 114  
DANH MỤC HÌNH ............................................................................................................................................ 115  
DANH MỤC BẢNG BIỂU................................................................................................................................. 116  
KHOA CÔNG NGHỆ THÔNG TIN  
2
GIÁO TRÌNH MÔ ĐUN  
Tên mô đun: Kỹ thuật lập trình nâng cao  
Mã mô đun: MĐ2101081  
Vị trí, tính chất, ý nghĩa và vai trò của mô đun:  
- Vị trí: mô đun chuyên môn cho ngành tin học ứng dụng  
- Tính chất: là mô đun bắt buộc  
- Ý nghĩa và vai trò của mô đun: giúp cho người học trang bị được kiến thức về lập  
trình trên môi trường ứng dụng.  
Mục tiêu của mô đun:  
Về kiến thức:  
- Trình bày được quy trình xây dựng một chương trình C# đơn giản.  
- Xác định được các thành phần cơ bản trong ngôn ngữ lập trình C#.  
- Trình bày được cú pháp câu lệnh trong lập trình C#  
- Phát biểu được sự hoạt động của câu lệnh chương trình con.  
- Khái quát hóa được trong phương pháp lập trình hướng đối tượng  
- Phân biệt được các điều khiển trong lập trình window form.  
Về kỹ năng:  
- Ứng dụng viết được các chương trình xử lý tính toán cơ bản trên ngôn ngữ C#;  
- Phân tích được các câu lệnh, cú pháp trong một chương trình C#;  
- Xây dựng được các lớp xử lý cho ứng dụng;  
- Sử dụng được các control cơ bản trong Visual studio để thiết kế form.  
Về năng lực tự chủ và trách nhiệm:  
- Rèn luyện tư duy nghiên cứu và phân tích bài toán;  
- Phát huy tính tích cực sáng tạo trong các phương pháp giải;  
- Cẩn thận, chính xác trong khi viết chương trình C#.  
Nội dung của mô đun:  
KHOA CÔNG NGHỆ THÔNG TIN  
3
Bài 1: Giới thiệu ngôn ngữ C#  
BÀI 1: GIỚI THIỆU NGÔN NGỮ C#  
Giới thiệu: Khái niệm tổng quan về cấu trúc ngôn ngữ lập trình C#  
Mục tiêu:  
- Trình bày được cấu trúc của một chương trình C#  
- Phát biểu lại được khái niệm cơ bản về lập trình  
- Trình bày các bước viết một chương trình bằng ngôn ngữ C#  
Nội dung chính:  
1.1. Tổng quan về ngôn ngữ lập trình C#  
1.1.1. Khái niệm ngôn ngữ C#  
C# là một ngôn ngữ rất đơn giản, với khoảng 80 từ khoá và hơn mười kiểu dữ  
liệu dựng sẵn, nhưng C# có tính diễn đạt cao. C# hỗ trợ lập trình có cấu trúc, hướng  
đối tượng, hướng thành phần (component oriented).  
Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ liệu  
mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết. C# có những từ khoá  
dành cho việc khai báo lớp, phương thức, thuộc tính (property) mới. C# hỗ trợ  
đầy đủ khái niệm trụ cột trong lập trình hướng đối tượng: đóng gói, thừa kế, đa hình.  
Định nghĩa lớp trong C# không đòi hỏi tách rời tập tin tiêu đề với tập tin cài đặt  
như C++. Hơn thế, C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp trong tập  
tin mã nguồn. Đến khi biên dịch sẽ tạo tập tin sưu liệu theo định dạng XML.  
C# hỗ trợ khái niệm giao diện, interfaces (tương tự Java). Một lớp chỉ có thể  
kế thừa duy nhất một lớp cha nhưng có thế cài đặt nhiều giao diện.  
C# có kiểu cấu trúc, struct (không giống C++). Cấu trúc là kiểu hạng nhẹ và bị  
giới hạn.Cấu trúc không thể thừa kế lớp hay được kế thừa nhưng có thể cài đặt giao  
diện.  
C# cung cấp những đặc trưng lập trình hướng thành phần như property, sự kiện  
và dẫn hướng khai báo (được gọi là attribute). Lập trình hướng component được hỗ  
trợ bởi CLR thông qua siêu dữ liệu (metadata). Siêu dữ liệu mô tả các lớp bao gồm  
các phương thức và thuộc tính, các thông tin bảo mật ….  
Assembly là một tập hợp các tập tin mà theo cách nhìn của lập trình viên là các  
thư viện liên kết động (DLL) hay tập tin thực thi (EXE). Trong .NET một assembly  
là một đơn vị của việc tái sử dụng, xác định phiên bản, bảo mật, và phân phối.  
CLR cung cấp một số các lớp để thao tác với assembly.  
KHOA CÔNG NGHỆ THÔNG TIN  
4
Bài 1: Giới thiệu ngôn ngữ C#  
C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng vùng mã  
đó được xem như không an toàn. CLR sẽ không thực thi việc thu dọn rác tự động  
các đối tượng được tham chiếu bởi con trỏ cho đến khi lập trình viên tự giải phóng.  
1.1.2. .NET Framework  
.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng  
dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft.  
Các chương trình được viết trên nền.NET Framework sẽ được triển khai trong môi  
trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên  
Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong  
đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory  
management), và các xử lý lỗi ngoại lệ (exception handling).  
.NET framework bao gồm tập các thư viện lập trình lớn, và những thư viện này hỗ  
trợ việc xây dựng các chương trình phần mềm như lập trình giao diện; truy cập, kết  
nối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếp mạng...  
CLR cùng với bộ thư viện này là 2 thành phần chính của.NET framework.  
.NET framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành  
phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng  
tạo mà gắn kết các thành phần đó lại với nhau. Nhiều công cụ được tạo ra để hỗ trợ  
xây dựng ứng dụng.NET và IDE (Integrated Developement Environment) được phát  
triển và hỗ trợ bởi chính Microsoft là Visual Studio.  
Bảng 1-1 Lịch sử .NET Framework  
Phiên  
Số hiệu  
Ngày phát  
hành  
Được phát hành kèm  
Visual Studio  
bản  
phiên bản  
theo  
Windows XP Tablet and  
Media Center Editions  
1.0  
1.0.3705.0  
13/2/2002 Visual Studio.NET  
Visual Studio.NET  
1.1  
2.0  
3.0  
1.1.4322.573 24/4/2003  
Windows Server 2003  
2003  
2.0.50727.42 7/11/2005 Visual Studio 2005 Windows Server 2003 R2  
Windows Vista, Windows  
3.0.4506.30 6/11/2006  
Server 2008  
KHOA CÔNG NGHỆ THÔNG TIN  
5
Bài 1: Giới thiệu ngôn ngữ C#  
Windows 7, Windows  
Server 2008 R2  
3.5  
4.0  
3.5.21022.8 19/11/2007 Visual Studio 2008  
4.0.30319.1 12/4/2010 Visual Studio 2010  
Windows 8, Windows  
Server 2012  
4.5  
4.5.50709  
15/8/2012 Visual Studio 2012  
20/7/2015 Visual Studio 2015  
4.6  
Windows 10  
v1803-v1809,  
2019  
Visual Studio 2017  
7 SP1, 8.1 Update, 10  
v1607-v1709  
4.7.2  
30/4/2018  
15.8  
Visual Studio 2019  
7 SP1, 8.1 Update, 10  
v1607-v1809  
4.8  
v1903-v1909 18/4/2019  
16.3  
.NET Framework 1.0  
Đây là phiên bản đầu tiên của.NET framework, nó được phát hành vào năm 2002  
cho các hệ điều hành Windows 98, NT 4.0, 2000 và XP. Việc hỗ trợ chính thức từ  
Microsoft cho phiên bản này kết thúc vào 10/7/2007, tuy nhiên thời gian hỗ trợ mở  
rộng được kéo dài đến 14/7/2009.  
.NET Framework 1.1  
Phiên bản nâng cấp đầu tiên được phát hành vào 4/2003. Sự hỗ trợ của Microsoft  
kết thúc vào 14/10/2008, và hỗ trợ mở rộng được định đến 8/10/2013.  
Những thay đổi so với phiên bản 1.0:  
•
•
Tích hợp hỗ trợ mobile ASP.NET (trước đây chỉ là phần mở rộng tùy chọn)  
Thay đổi về kiến trúc an ninh - sử dụng sandbox khi thực thi các ứng dụng từ  
Internet.  
•
•
•
•
Tích hợp hỗ trợ ODBC và cơ sở dữ liệu Oracle  
.NET Compact Framework  
Hỗ trợ IPv6 (Internet Protocol version 6  
Vài thay đổi khác trong API  
)
KHOA CÔNG NGHỆ THÔNG TIN  
6
Bài 1: Giới thiệu ngôn ngữ C#  
.NET Framework 2.0  
Kể từ phiên bản này,.NET framework hỗ trợ đầy đủ nền tảng 64-bit. Ngoài ra, cũng  
có một số thay đổi trong API; hỗ trợ các kiểu "generic"; bổ sung sự hỗ trợ cho  
ASP.NET; .NET Micro Framework - một phiên bản.NET framwork có quan hệ  
với Smart Personal Objects Technology  
.
.NET Framework 3.0  
Đây không phải là một phiên bản mới hoàn toàn, thực tế chỉ là một bản nâng cấp  
của.NET 2.0. Phiên bản 3.0 này còn có tên gọi khác là WinFX, nó bao gồm nhiều sự  
thay đổi nhằm hỗ trợ việc phát triển và chuyển đổi (porting) các ứng dụng trên  
Windows Vista. Tuy nhiên, không có sự xuất hiện của.NET Compact Framework 3.0  
trong lần phát hành này.  
Bốn thành phần chính trong phiên bản 3.0:  
•
Windows Presentation Foundation (WPF - tên mã là Avalon): Đây là một công  
nghệ mới, và là một nỗ lực của Microsoft nhằm thay đổi phương pháp hay cách  
tiếp cận việc lập trình một ứng dụng sử dụng giao diện đồ họa trên Windows  
với sự hỗ trợ của ngôn ngữ XAML.  
•
•
Windows Communication Foundation (WCF - tên mã là Indigo): Một nền tảng  
mới cho phép xây dựng các ứng dụng hướng dịch vụ (service-oriented).  
Windows Workflow Foundation (WF): Một kiến trúc hỗ trợ xây dựng các ứng  
dụng workflow (luồng công việc) một cách dễ dàng hơn. WF cho phép định  
nghĩa, thực thi và quản lý các workflow từ cả cách nhìn theo hướng kĩ thuật và  
hướng thương mại.  
•
Windows CardSpace (tên mã là InfoCard): một kiến trúc để quản lý định  
danh (identity management) cho các ứng dụng được phân phối.  
Ngoài ra Silverlight (hay WPF / E), một phiên bản nhánh.NET Framework hỗ trợ  
các ứng dụng trên nền web, được Microsoft tạo ra để cạnh tranh với Flash.  
Có thể minh họa.NET 3.0 bằng một công thức đơn giản:  
.NET 3.0 =.NET 2.0 + WPF + WCF + WF + WCS  
.NET Framework 3.5  
Được phát hành vào 11/2007, phiên bản này sử dụng CLR 2.0. Đây có thể được  
xem là tương đương với phiên bản .NET Framework 2.0 SP1 và .NET Framework 3.0  
SP1 cộng lại. .NET Compact Framework 3.5 được ra đời cùng với phiên bản.NET  
framework này.  
KHOA CÔNG NGHỆ THÔNG TIN  
7
Bài 1: Giới thiệu ngôn ngữ C#  
Các thay đổi kể từ phiên bản 3.0:  
•
•
•
•
•
•
•
•
•
•
•
•
Các tính năng mới cho ngôn ngữ C# 3.0 và VB.NET 9.0  
Hỗ trợ Expression Tree và Lambda  
Các phương thức mở rộng (Extension methods  
)
Các kiểu ẩn danh (Anonymous types  
LINQ  
)
Phân trang (paging) cho ADO.NET  
API cho nhập xuất mạng không đồng bộ (asynchronous network I/O  
Peer Name Resolution Protocol resolver  
Cải thiện WCF và WF  
)
Tích hợp ASP.NET AJAX  
Namespace mới System.CodeDom  
Microsoft ADO.NET Entity Framework 1.0  
Cũng như phiên bản 3.0, có thể minh họa sự thay đổi của.NET 3.5 bằng công thức:  
.NET 3.5 =.NET 3.0 + LINQ + ASP.NET 3.5 + REST  
.NET Framework 4.0  
Phiên bản beta đầu tiên của.NET 4 xuất hiện vào 5/2009 và phiên bản RC (Release  
Candidate) được ra mắt vào 2/2010. Bản chính thức của.NET 4 được công bố và phát  
hành cùng với Visual Studio 2010 vào 12/4/2010.  
Các tính năng mới được Microsoft bổ sung trong.NET 4:  
•
•
•
•
•
Dynamic Language Runtime  
Code Contracts  
Managed Extensibility Framework  
Hỗ trợ các tập tin ánh xạ bộ nhớ (memory-mapped files  
)
Mô hình lập trình mới cho các ứng dụng đa luồng (multithreaded) và bất đồng  
bộ (asynchronous  
)
•
Cải thiện hiệu năng, các mô hình workflow.  
.NET Framework 4.5  
KHOA CÔNG NGHỆ THÔNG TIN  
8
Bài 1: Giới thiệu ngôn ngữ C#  
Những thông tin đầu tiên của.NET 4.5 được Microsoft công bố vào 14/9/2011  
tại BUILD Windows Conference, và nó chính thức được ra mắt vào 15/8/2012.  
Kể từ phiên bản này, Microsoft bắt đầu cung cấp 2 gói cài đặt riêng biệt, gói đầy đủ  
và gói giản chức năng client profiles.  
.NET Framework 4.6  
Các tính năng mới được Microsoft bổ sung trong.NET 4.6:  
.
.
.
Mở nguồn mở các gói .NET Framework, những gói Open Source .Net  
Framework: trong bộ .Net Framwork 4.6 với những gói .Net Core CLR được  
xây đựng cho Windows, Mac và Linux  
.NET Compact Framework: là một phiên bản thu nhỏ được dùng cho các thiết  
bị điện toán di động như Windows Mobile/Windows Phone luôn đảm bảo thiết  
bị có hiệu suất cao.  
Hỗ Trợ Cho Code Page Encodings:  
.Net Framwork 4.6 tăng cường hỗ trợ nhiều bảng mã khác nhau thay vì chỉ có một  
bảng mã duy nhất như trước (Unicode) và mặc định hỗ trợ cho code page encodeings.  
Hiện .Net Framwork 4.6 hỗ trợ các bảng mã sau:  
1. ASCII (code page 20127)  
2. ISO-8859-1 (code page 28591)  
3. UTF-7 (code page 65000)  
4. UTF-8 (code page 65001)  
5. UTF-16 and UTF-16LE (code page 1200)  
6. UTF-16BE (code page 1201)  
7. UTF-32 and UTF-32LE (code page 12000)  
8. UTF-32BE (code page 12001)  
.NET Framework 4.8  
.NET Framework 4.8 được phát hành vào ngày 18 tháng 4 năm 2019. Đây là  
phiên bản cuối cùng của .NET Framework, tất cả các công việc trong tương lai sẽ đi  
vào nền tảng .NET Core cuối cùng sẽ trở thành .NET 5 trở đi. Bản phát hành bao  
gồm các cải tiến JIT được chuyển từ .NET Core 2.1, các cải tiến DPI cao cho các  
ứng dụng WPF, cải thiện khả năng truy cập, cập nhật hiệu suất và cải tiến bảo mật.  
KHOA CÔNG NGHỆ THÔNG TIN  
9
Bài 1: Giới thiệu ngôn ngữ C#  
Nó hỗ trợ Windows 7 , Server 2008 R2 , Server 2012 , 8.1 , Server 2012 R2 , 10 ,  
Server 2016, 2019 và cũng được vận chuyển dưới dạng đóng gói Windows.  
Bản phát hành gần đây nhất là 4.8.0 Build 3928, được phát hành vào ngày 25  
tháng 7 năm 2019 với kích thước trình cài đặt là 111 MB và ngày chữ ký số là ngày  
25 tháng 7 năm 2019.  
1.1.3. Một số công nghệ trong .NET Framework  
Hiện nay, một hệ thống thông tin thường có những dạng ứng dụng sau: Ứng dụng  
Console phục vụ xử lý các vấn đề liên quan đến hệ thống và giao tiếp vào ra; Ứng  
dụng Desktop phục vụ xây dựng các phần mềm ứng dụng với giao diện thân thiện;  
Ứng dụng Internet phục vụ việc xây dựng các website; Đối với mỗi dạng ứng dụng  
khác nhau, Visual Studio cung cấp các dạng Project khác nhau. Các dạng Project  
được Visual Studio cung cấp gồm có:  
•
•
Console: xây dựng ứng dụng với giao diện dòng lệnh;  
Windows Forms: xây dựng ứng dụng desktop (giao diện đồ họa) cho  
windows;  
•
•
Windows Presentation Foundation: công nghệ mới xây dựng ứng dụng  
desktop (giao diện đồ họa) cho windows;  
ASP.NET: nền tảng để phát triển các ứng dụng web chạy trong chương trình  
máy chủ IIS, bao gồm ASP.NET Web Forms, ASP.NET MVC, ASP.NET  
Web API;  
•
•
ADO.NET và Entity Framework: Công nghệ cho phép chương trình kết nối  
và sử dụng cơ sở dữ liệu quan hệ (SQL Server, MySQL, V.v.);  
Windows Communications Foundation: công nghệ cho phép phát triển ứng  
dụng mạng hướng dịch vụ (Service Oriented Application, SOA).  
1.2. Cấu trúc chương trình C#  
1.2.1. Các thành phần chính của Visual Studio  
Visual Studio là bộ công cụ tuyệt vời để phát triển các ứng dụng trên .NET  
Framework. Nó gồm các thành phần chính:  
*
Solution Explorer: Cửa số này giúp quản lý project, như thêm/bớt/đổi tên  
một Class, thêm Form, thêm một Assembly…  
*
Code Editor: đây là cửa sổ để viết mã lệnh, nó rất nhiều tiện ích để giúp  
cho việc viết mã lệnh cũng như quan sát mã lệnh được thuận tiện, ví dụ như  
KHOA CÔNG NGHỆ THÔNG TIN  
10  
Bài 1: Giới thiệu ngôn ngữ C#  
chức năng comment (phím tắt là Ctrl + E,C), uncomment (phím tắt là Ctrl+  
E,U), chức năng thu gọn (Collapse) và mở rộng (Expand) một đoạn mã, chức  
năng refactor để đổi tên một biến, một phương thức…  
*
Properties Windows: là cửa sổ để thiết lập các thuộc tính cho các đối  
tượng trong project, thuộc tính của project, cho các điều khiển trong ứng dụng  
Winform.  
*
*
Debug: là công cụ để gỡ lỗi.  
MSDN: đây là bộ tài liệu tuyệt vời, không thể có tài liệu nào nói về .NET  
Framework đầy đủ và chỉ tiết hơn MSDN. Tra cứu MSDN khi phát triển ứng  
dụng .NET là một yêu cầu bắt buộc với sinh viên. Trong Visual Studio, muốn  
mở MSDN các bạn ấn phím F1, MSDN sẽ mở ra, người dùng có thể dùng chức  
năng Search hoặc Index để tìm tài liệu về vấn đề mình cần tìm hiểu.  
1.2.2. Cấu trúc chương trình  
Một chương trình C# giao tiếp với người dùng qua dòng lệnh gọi là Console  
Application. Cấu trúc của một Console Application như sau:  
Đầu tiên là khai báo thư viện bằng từ khóa using, ví dụ trong thư viện  
(namespace) System có lớp Console. Do đó muốn sử dụng lớp Console chúng ta  
phải khai báo thư viện System bằng từ khóa using ngay ở đầu chương trình.  
Sau phần khai báo thư viện đến phần khai báo các lớp, trong lớp gồm có  
thuộc tính, phương thức… và đặc biệt phải có và chỉ có duy nhất một phương  
thức Main. Chương trình sẽ thực thi từ phương thức Main. Nếu không có  
phương thức Main thì khi biên dịch trình biên dịch sẽ báo lỗi. Phương thức  
Main có thể có đối số hoặc không có đối số nhưng bắt buộc phải có từ khóa  
static đặt trước, không nhất thiết phải có từ khóa public đặt trước phương thức  
Main.  
KHOA CÔNG NGHỆ THÔNG TIN  
11  
Bài 1: Giới thiệu ngôn ngữ C#  
Hình 1-1 Giao diện chương trình Console App  
Một chương trình C# gồm các phần sau:  
.
.
.
.
.
.
.
Khai báo Namespace  
Một class  
Phương thức của lớp  
Thuộc tính của lớp  
Một phương thức Main  
Lệnh và biểu thức  
Comment  
1.3. Một số khái niệm cơ bản  
C# là ngôn ngữ đơn giản  
Như ta đã biết thì ngôn ngữ C# dựng trên nền tảng C++ và Java nên ngôn ngữ C#  
khá đơn giản. Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta  
sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng  
khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm  
cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải tiến là loại bỏ các dư thừa, hay  
là thêm vào những cú pháp thay đổi.  
C# là ngôn ngữ hiện đại  
KHOA CÔNG NGHỆ THÔNG TIN  
12  
Bài 1: Giới thiệu ngôn ngữ C#  
Một vài khái niệm khá mới mẻ khá mơ hồ với các bạn vừa mới học lập trình, như  
xử lý ngoại lệ, những kiểu dữ liệu mở rộng, bảo mật mã nguồn..v..v... Đây là những  
đặc tính được cho là của một ngôn ngữ hiện đại cần có. Và C# chứa tất cả các đặt  
tính ta vừa nêu trên. Các bạn sẽ dần tìm hiểu được các đặt tính trên qua các bài học  
trong series này.  
C# là một ngôn ngữ lập trình thuần hướng đối tượng  
Lập trình hướng đối tượng(tiếng Anh: Object-oriented programming, viết tắt:  
OOP) là một phương pháp lập trình có 4 tính chất. Đó là tính trừu tượng  
(
abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế  
thừa (inheritance). C# hỗ trợ cho chúng ta tất cả những đặc tính trên. Và để hiểu rõ  
hơn thì chúng ta sẽ có một chương trình bày về phần này.  
C# là một ngôn ngữ ít từ khóa  
C được sử dụng để mô tả thôn# là ngôn ngữ sử dụng giới hạn những từ khóa  
(gồm khoảng 80 từ khóa và mười mấy kiểu dữ liệu xây dựng sẵn). Nếu bạn nghĩ  
rằng ngôn ngữ có càng nhiều từ khóa thì sẽ càng mạnh mẽ hơn. Điều này không  
phải sự thật, lấy ví dụ ngôn ngữ C# làm điển hình nhé. Nếu bạn học sâu về C# bạn  
sẽ thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào.  
Ngoài những đặc điểm trên thì còn một số ưu điểm nổi bật của C#:  
•
C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nên cũng  
khá dể dàng tiếp cận và học nhanh với C#.  
•
•
C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau.  
C# được xây dựng trên nền tảng của C++ và Java nên nó được thừa hưởng  
những ưu điểm của ngôn ngữ đó.  
C# là một phần của .NET Framework nên được sự chống lưng khá lớn đến từ  
bộ phận này.  
•
•
C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ.  
1.4. Tạo ứng dụng bằng C#  
Để viết chương trình C# trên nền Console Application ta cần tạo một project  
Console Application như sau:  
.
File  
> New.. > Project.. Hoặc ta có thể sử dụng tổ hợp phím Ctrl+Shift+N.  
.
Tìm đến project của C# Console App(.NET Framework), chọn Next và  
Create.  
KHOA CÔNG NGHỆ THÔNG TIN  
13  
Bài 1: Giới thiệu ngôn ngữ C#  
Hình 1-2 Hình tạo project Console  
Như bạn thấy thì có 2 phiên bản Console App và Console App (.Net  
Framework). Bạn có thể chọn cái nào cũng được. Nhưng trong chuỗi bài về C#  
mình sẽ chọn .Net Framework  
Sau khi tạo xong project Cosole Application thì ta nhận đoạn mã sau:  
Hình 1-3 Giao diện code Console vừa tạo  
Nhấn nút Start trong visual studio hoặc F5 trên bàn phím để chạy chương  
trình. Kết quả sẽ như bên dưới:  
KHOA CÔNG NGHỆ THÔNG TIN  
14  
Bài 1: Giới thiệu ngôn ngữ C#  
Hình 1-4 Kết quả chạy đầu tiền  
Ứng dụng Console  
Màn hình DOS màu đen in chữ “Hello C#” trong ảnh trên được gọi là ứng dụng  
console, ứng dụng này giao tiếp với ngườidùng thông quan bàn phím và không có  
giao diện người dùng (UI), giống như các ứngdụng thường thấy trong Windows.  
Trong các chương xây dựng các ứng dụng nâng cao trên Windows hay Web thì  
ta mới dùng các các giao diện đồ họa. Còn để tìm hiểu về ngôn ngữ C# thuần tuý thì  
cách tốt nhất là ta viết các ứng dụng console.  
Trong ứng dụng đơn giản trên ta đã dùng phương thức WriteLine() của lớp  
Console.  
Phương thức này sẽ xuất ra màn hình dòng lệnh hay màn hình DOS chuỗi tham  
số đưa vào, cụ thể là chuỗi “Hello C#”.  
Sau đây chúng ta sẽ cùng tìm hiểu từng thành phần của chương trình trên.  
Using  
Cú pháp:  
using <tên thư viện>  
Ý nghĩa:  
.
Dùng để chỉ cho trình biên dịch biết rằng những thư viện được sử dụng trong  
chương trình. Các bạn hoàn toàn có thể không sử dụng thư viên nào trong chương  
trình của mình.  
KHOA CÔNG NGHỆ THÔNG TIN  
15  
Bài 1: Giới thiệu ngôn ngữ C#  
Namespace  
Cú pháp:  
namespace <tên namespace>  
{
// Các thành phần bên trong namespace bao gồm các lớp, enum,  
delegate hoặc các  
// namespace con  
}
Như chúng ta đã biết .NET cung cấp một thư viện các lớp đồ sộ và thư viện này  
có tên là FCL (Framework Class Library). Trong đó Console chỉ là một lớp nhỏ  
trong hàng ngàn lớp trong thư viện. Mỗi lớp có một tên riêng, vì vậy FCL có hàng  
ngàn tên như ArrayList, Dictionary, FileSelector,…  
Điều này làm nảy sinh vấn đề, người lập trình không thể nào nhớ hết được tên  
của các lớp trong .NET Framework. Tệ hơn nữa là sau này có thể ta tạo lại một lớp  
trùng với lớp đã có chẳng hạn. Ví dụ trong quá trình phát triển một ứng dụng ta cần  
xây dựng một lớp từ điển và lấy tên là Dictionary, và điều này dẫn đến sự tranh  
chấp khi biên dịch vì C# chỉ cho phép một tên duy nhất.  
Chắc chắn rằng khi đó chúng ta phải đổi tên của lớp từ điển mà ta vừa tạo thành  
một cái tên khác chẳng hạn như myDictionary. Khi đó sẽ làm cho việc phát triển  
các ứng dụng trở nên phức tạp, cồng kềnh. Đến một sự phát triển nhất định nào đó  
thì chính là cơn ác mộng cho nhà phát triển.  
Giải pháp để giải quyết vấn đề này là việc tạo ra một namespace, namsespace sẽ  
hạn chế phạm vi của một tên, làm cho tên này chỉ có ý nghĩa trong vùng đã định  
nghĩa.  
Ý nghĩa:  
.
Báo cho trình biên dịch biết rằng các thành phần bên trong khối { } ngay bên  
dưới tên namespace thuộc vào chính namespace đó.  
.
Hạn chế phạm vi của một tên, làm cho tên này chỉ có ý nghĩa trong vùng đã  
định nghĩa.  
Ví dụ về namespace:  
namespace Parent  
KHOA CÔNG NGHỆ THÔNG TIN  
16  
Bài 1: Giới thiệu ngôn ngữ C#  
{
}
public class Action { }  
namespace Child { }  
Với khai báo trên thì ta thấy các thành phần trong namespace Child sẽ thuộc  
namespace Parent  
.
Class  
Cú pháp:  
class <Tên lớp> { }  
Ý nghĩa: báo cho trình biên dịch biết rằng những thành phần trong khối { } ngay  
sau tên lớp thuộc vào chính lớp đó. Chi tiết về lớp sẽ được trình bày sau.  
Ví dụ về lớp:  
class Program {  
static void Main(string[] args) { }  
}
Dễ thấy phương thức Main này khối { } của lớp Program nên phương thức này  
thuộc lớp Program.  
Hàm (Phương thức) Main  
Đây là hàm được tạo sẵn khi tạo project với cấu trúc như sau:  
static void Main(string[] args) { }  
Hàm chính của toàn chương trình. Mỗi khi trình biên dịch dịch chương trình ra sẽ  
đi vào hàm Main đầu tiên để bắt đầu vòng đời của chương trình. Từ thời điểm này  
chúng ta sẽ viết code (mã chương trình) bên trong khối { } của hàm Main.  
Comment – Chú thích  
Khi viết code nhu cầu chú thích ý nghĩa đoạn code cũng rất thiết thực.  
.
Đôi khi bạn không nhớ đoạn code mình viết ra dùng để làm gì. Thì chú thích lại  
ý nghĩa của nó cũng rất cần thiết.  
.
Hay bạn có thể đóng đoạn code không dùng tới mà không cần xóa nó đi. Khi  
nào cần sử dụng thì lại mở nó ra sài lại.  
KHOA CÔNG NGHỆ THÔNG TIN  
17  
Tải về để xem bản đầy đủ
pdf 119 trang yennguyen 25840 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình mô đun Kỹ thuật lập trình nâng cao - Nghề: Tin học ứng dụng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_mo_dun_ky_thuat_lap_trinh_nang_cao_nghe_tin_hoc_u.pdf