Professional Documents
Culture Documents
Tim Hiu C Va Vit NG DNG Minh Ha
Tim Hiu C Va Vit NG DNG Minh Ha
PH M VĔN VI T - TR NG L P Vƾ
TÌM HI U NGÔN NG C# VÀ
VI T M T NG D NG MINH H A
Đ ÁN T T NGI P
GIÁO VIÊN H NG D N
NGUY N T N TR N MINH KHANG
PH M VĔN VI T - TR NG L P Vƾ
GIÁO VIÊN H NG D N
NGUY N T N TR N MINH KHANG
Chúng em cũng xin chân thành c m n đ n các th y cô khoa Công ngh thông tin
tr ng Đ i h c Khoa h c T nhiên Thành ph H Chí Minh đã truy n đ t nh ng ki n
th c, kinh nghi m quí báu cho chúng em trong quá trình h c t p t i tr ng.
Chúng em cũng xin chân thành c m n đ n các b n bè đã giúp đỡ tài li u, trao đổi h c
thu t m i có th th c hi n đ án này. Xin g i l i c m n đ n các b n H Ng c Huy,
Tr n Th Anh, Bùi Thanh Tu n...
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
Tóm tắt
Đ tài này t p trung tìm hi u toàn b các khái ni m liên quan đ n ngôn ng C#.
B i vì C# đ c Microsoft phát tri n nh là m t thành ph n c a khung ng d ng
.NET Framework và h ng Internet nên đ tài này bao g m hai ph n sau:
Phần 1: Tìm hiểu về ngôn ngữ C#
Vi c tìm hi u bao g m c các ki n th c n n t ng v công ngh .NET Framework,
chu n b cho các khái ni m liên quan gi a C# và .NET Framework. Sau đó tìm
hi u v b cú pháp c a ngôn ng này, bao g m toàn b t p l nh, từ khóa, khái
ni m v l p trình h ng đ i t ng theo C#, các h tr l p trình h ng
component ... Sau cùng là cách l p trình C# v i ng d ng Window cho máy đ
bàn và C# v i các công ngh hi n đ i nh ASP.NET. ADO.NET, XML cho l p
trình Web.
1
C# và .Net Framework Gvhd: Nguy n T n Tr n Minh Khang
2
C# và .Net Framework Gvhd: Nguy n T n Tr n Minh Khang
3
C# và .Net Framework Gvhd: Nguy n T n Tr n Minh Khang
4
C# và .Net Framework Gvhd: Nguy n T n Tr n Minh Khang
5
Kh i đ u Gvhd: Nguy n T n Tr n Minh Khang
2.1.1 Phương th c
Các hành vi c a m t l p đ c g i là các ph ng th c thành viên (g i t t là ph ng
th c) c a l p đó. M t phương thức là m t hàm (ph ng th c thành viên còn g i là
hàm thành viên). Các ph ng th c đ nh nghƿa nh ng gì mà m t l p có th làm.
Cách khai báo, n i dung và cách s d ng các ph ng th c gi ng hoàn toàn v i Java
và C++. Trong ví d trên có m t ph ng th c đặc bi t là ph ng th c Main() (nh
hàm main() trong C++) là ph ng th c b t đ u c a m t ng d ng C#, có th tr v
ki u void hay int. M i m t ch ng trình (assembly) có th có nhi u ph ng th c
Main nh ng khi đó ph i chỉ đ nh ph ng th c Main() nào s b t đ u ch ng trình.
6
Kh i đ u Gvhd: Nguy n T n Tr n Minh Khang
7
Kh i đ u Gvhd: Nguy n T n Tr n Minh Khang
class HelloWorld
{
static void Main( )
{
// Console thuộc vùng tên System
Console.WriteLine("Hello World");
}
}
8
Kh i đ u Gvhd: Nguy n T n Tr n Minh Khang
9
Kh i đ u Gvhd: Nguy n T n Tr n Minh Khang
10
Kh i đ u Gvhd: Nguy n T n Tr n Minh Khang
Cách dùng trình g r i hoàn toàn gi ng v i trình g r i trong VS 6.0. Nó cho phép
ta dừng l i m t v trí b t kỳ, cho ta ki m tra giá tr t c th i bằng cách di chuy n
chu t đ n v tr bi n. Ngoài ra, khi g r i ta cũng có th xem giá tr các bi n thông
qua c a sổ Watch và Local.
Đ ch y trong ch đ g r i ta ch n Debug å Start hay nh n F5, mu n ch y từng
b c ta b m F11 và ch y v t qua m t ph ng th c ta b m F10.
11
Nh ng c s c a ngôn ng C# Gvhd: Nguy n T n Tr n Minh Khang
12