C# v C# v à à ki ki ế ế n tr n tr ú ú c . c . NET. C# NET. C# cơ b cơ b ả ả n n - - Editor: Editor: Đo Đo à à n Quang Minh n Quang Minh 4 4 The Common Language Runtime The Common Language Runtime H H ạ ạ t t nhân nhân c c ủ ủ a a .NET .NET l l à à môi môi trư trư ờ ờ ng ng th th ự ự c c thi thi mã mã l l ệ ệ nh nh , , g g ọ ọ i i l l à à Common Language Runtime Common Language Runtime ( ( CLR CLR ) hay ) hay .NET runtime .NET runtime . . Trư Trư ớ ớ c c khi khi th th ự ự c c thi thi b b ở ở i i CLR, CLR, mã mã ngu ngu ồ ồ n n c c ầ ầ n n đư đư ợ ợ c c biên biên d d ị ị ch ch ra ra ngôn ngôn ng ng ữ ữ trung trung gian gian g g ọ ọ i i l l à à Microsoft Microsoft Intermediate Language Intermediate Language ( ( MS MS - - IL IL ) ) Ưu Ưu đi đi ể ể m m : : – – Không Không ph ph ụ ụ thu thu ộ ộ c c v v à à o o n n ề ề n n (platform): .NET (platform): .NET c c ó ó th th ể ể ch ch ạ ạ y y trên trên Windows Windows ho ho ặ ặ c c trên trên Linux; Linux; – – Tăng Tăng hi hi ệ ệ u u su su ấ ấ t t th th ự ự c c thi thi : : kh kh á á c c v v ớ ớ i i Java, CLR Java, CLR l l à à b b ộ ộ biên biên d d ị ị ch ch Just Just - - In In - - Time Time : : mã mã IL IL đư đư ợ ợ c c biên biên d d ị ị ch ch t t ứ ứ c c th th ờ ờ i i sang sang mã mã m m á á y y khi khi th th ự ự c c thi thi chương chương tr tr ì ì nh nh ; ; – – Kh Kh ả ả năng n ăng biên biên d d ị ị ch ch nhi nhi ề ề u u ngôn ngôn ng ng ữ ữ kh kh á á c c nhau nhau : C#, VB.NET, : C#, VB.NET, C++ .NET, J# C++ .NET, J# Xem Xem thêm thêm http://www.thanglongonline.net/forum/cmd/0/thread/28ddc5f6 http://www.thanglongonline.net/forum/cmd/0/thread/28ddc5f6 - - acea acea - - 4190 4190 - - a75f a75f - - 076cb24e13e6/tab.aspx 076cb24e13e6/tab.aspx C# v C# v à à ki ki ế ế n tr n tr ú ú c . c . NET. C# NET. C# cơ b cơ b ả ả n n - - Editor: Editor: Đo Đo à à n Quang Minh n Quang Minh 5 5 Intermediate Language Intermediate Language Ki Ki ể ể u u d d ữ ữ li li ệ ệ u u d d ù ù ng ng chung chung ( ( Common Type System Common Type System – – CTS CTS ): ): – – L L à à t t ậ ậ p p c c á á c c ki ki ể ể u u d d ữ ữ li li ệ ệ u u đư đư ợ ợ c c đ đ ị ị nh nh ngh ngh ĩ ĩ a a s s ẵ ẵ n n trong trong IL, IL, d d ù ù ng ng chung chung gi gi ữ ữ a a c c á á c c ngôn ngôn ng ng ữ ữ (C#, VB.NET, (C#, VB.NET, … … ). ). – – Chia Chia l l à à m m hai hai t t ậ ậ p p : : d d ữ ữ li li ệ ệ u u ki ki ể ể u u tham tham tr tr ị ị v v à à d d ữ ữ li li ệ ệ u u ki ki ể ể u u tham tham chi chi ế ế u u ( ( value value type type v v à à reference type reference type ) ) Đ Đ ặ ặ c c t t ả ả ngôn ngôn ng ng ữ ữ chung chung ( ( Common Language Specification Common Language Specification – – CLS CLS ) ) – – T T ậ ậ p p con con c c ủ ủ a a CTS CTS m m à à t t ấ ấ t t c c ả ả c c á á c c ngôn ngôn ng ng ữ ữ đ đ ề ề u u ph ph ả ả i i h h ỗ ỗ tr tr ợ ợ Đ Đ ặ ặ c c t t í í nh nh c c ủ ủ a a IL: IL: – – H H ỗ ỗ tr tr ợ ợ hư hư ớ ớ ng ng đ đ ố ố i i tư tư ợ ợ ng ng v v à à giao giao ti ti ế ế p p : : b b ả ả n n thân thân IL IL l l à à ngôn ngôn ng ng ữ ữ hư hư ớ ớ ng ng đ đ ố ố i i tư tư ợ ợ ng ng ho ho à à n n to to à à n n . . C C ó ó h h ỗ ỗ tr tr ợ ợ giao giao ti ti ế ế p p (interface) (interface) – – X X ử ử lý lý t t ự ự đ đ ộ ộ ng ng tham tham bi bi ế ế n n v v à à tham tham tr tr ị ị ( ( t t í í nh nh năng năng c c ủ ủ a a CTS). CTS). – – É É p p ki ki ể ể u u t t ự ự đ đ ộ ộ ng ng v v à à an an to to à à n n C C á á c c t t í í nh nh năng năng đ đ ặ ặ c c bi bi ệ ệ t t : : – – B B ộ ộ thu thu gom gom r r á á c c : : t t ự ự đ đ ộ ộ ng ng qu qu ả ả n n lý lý b b ộ ộ nh nh ớ ớ – – An An to to à à n n : : qu qu ả ả n n lý lý ti ti ế ế n n tr tr ì ì nh nh d d ự ự a a trên trên t t à à i i kho kho ả ả n n C# v C# v à à ki ki ế ế n tr n tr ú ú c . c . NET. C# NET. C# cơ b cơ b ả ả n n - - Editor: Editor: Đo Đo à à n Quang Minh n Quang Minh 6 6 Assemblies Assemblies L L à à m m ộ ộ t t đơn đơn v v ị ị logic logic ch ch ứ ứ a a c c á á c c mã mã đã đã đư đư ợ ợ c c biên biên d d ị ị ch ch b b ở ở i i .NET. .NET. Ch Ch ứ ứ a a m m ộ ộ t t metadata metadata t t ự ự mô mô t t ả ả : : – – Type metadata: Type metadata: ch ch ứ ứ a a c c á á c c mô mô t t ả ả v v ề ề ki ki ể ể u u d d ữ ữ li li ệ ệ u u v v à à c c á á c c phương phương th th ứ ứ c c c c ó ó trong trong assembly assembly – – Manifest: Manifest: ch ch ứ ứ a a c c á á c c assembly metadata assembly metadata l l à à thông thông tin tin v v ề ề assembly assembly đ đ ó ó (version, copyright, (version, copyright, … … ) ) Private Assemblies: Private Assemblies: g g ó ó i i n n à à y y ch ch ỉ ỉ đư đư ợ ợ c c th th ự ự c c thi thi b b ở ở i i ph ph ầ ầ n n m m ề ề m m s s ở ở h h ữ ữ u u n n ó ó , , thu thu ộ ộ c c thư thư m m ụ ụ c c hi hi ệ ệ n n th th ờ ờ i i ho ho ặ ặ c c thư thư m m ụ ụ c c con. con. Shared Assemblies: Shared Assemblies: chia chia s s ẻ ẻ gi gi ữ ữ a a c c á á c c ph ph ầ ầ n n m m ề ề m m – – C C ó ó th th ể ể gây gây nh nh ậ ậ p p nh nh ằ ằ ng ng v v ề ề tên tên g g ó ó i i – – C C ó ó th th ể ể b b ị ị ghi ghi đ đ è è b b ở ở i i phiên phiên b b ả ả n n m m ớ ớ i i hơn hơn C# v C# v à à ki ki ế ế n tr n tr ú ú c . c . NET. C# NET. C# cơ b cơ b ả ả n n - - Editor: Editor: Đo Đo à à n Quang Minh n Quang Minh 7 7 .NET Framework Classes .NET Framework Classes C C á á c c l l ớ ớ p p cơ cơ b b ả ả n n đư đư ợ ợ c c cung cung c c ấ ấ p p b b ở ở i i Microsoft, Microsoft, cho cho ph ph é é p p th th ự ự c c thi thi h h ầ ầ u u h h ế ế t t c c á á c c t t á á c c v v ụ ụ thư thư ờ ờ ng ng g g ặ ặ p p – – C C á á c c th th ủ ủ t t ụ ụ c c tri tri ệ ệ u u g g ọ ọ i i đơn đơn gi gi ả ả n n . . – – Cho Cho ph ph é é p p truy truy xu xu ấ ấ t t đ đ ế ế n n c c á á c c h h à à m m Windows Windows API API m m ộ ộ t t c c á á ch ch đơn đơn gi gi ả ả n n Namespaces: Namespaces: không không gian gian tên tên , , ch ch ứ ứ a a m m ộ ộ t t nh nh ó ó m m c c á á c c ki ki ể ể u u d d ữ ữ li li ệ ệ u u ho ho ặ ặ c c l l ớ ớ p p c c ó ó m m ố ố i i liên liên quan quan qua qua l l ạ ạ i i v v ớ ớ i i nhau nhau . . C# v C# v à à ki ki ế ế n tr n tr ú ú c . c . NET. C# NET. C# cơ b cơ b ả ả n n - - Editor: Editor: Đo Đo à à n Quang Minh n Quang Minh 8 8 C C á á c c ứ ứ ng ng d d ụ ụ ng ng s s ử ử d d ụ ụ ng ng C# C# ASP.NET: ASP.NET: l l à à m m ộ ộ t t công công ngh ngh ệ ệ c c ủ ủ a a Microsoft Microsoft d d ù ù ng ng đ đ ể ể xây xây d d ự ự ng ng website. website. – – L L à à m m ộ ộ t t h h ệ ệ th th ố ố ng ng c c ó ó c c ấ ấ u u tr tr ú ú c c ; ; – – T T ố ố c c đ đ ộ ộ th th ự ự c c thi thi nhanh nhanh ; ; – – D D ễ ễ d d à à ng ng b b ả ả o o tr tr ì ì mã mã l l ệ ệ nh nh . . Web Forms: Web Forms: c c á á ch ch ti ti ế ế p p c c ậ ậ n n design design c c á á c c trang trang web web tương tương t t ự ự như như design design c c á á c c ứ ứ ng ng d d ụ ụ ng ng trên trên windows windows Web Services: Web Services: cung cung c c ấ ấ p p c c á á c c d d ị ị ch ch v v ụ ụ cho cho website website . Quang Minh 7 7 .NET Framework Classes .NET Framework Classes C C á á c c l l ớ ớ p p c c b b ả ả n n đư đư ợ ợ c c cung cung c c ấ ấ p p b b ở ở i i Microsoft, Microsoft, cho cho ph ph é é p p th th ự ự c c thi thi h h ầ ầ u u h h ế ế t t c c á á c c t t á á c c v v ụ ụ thư thư ờ ờ ng ng g g ặ ặ p p – – C C á á c c th th ủ ủ t t ụ ụ c c tri tri ệ ệ u u g g ọ ọ i i đơn đơn gi gi ả ả n n . . – – Cho. Specification – – CLS CLS ) ) – – T T ậ ậ p p con con c c ủ ủ a a CTS CTS m m à à t t ấ ấ t t c c ả ả c c á á c c ngôn ngôn ng ng ữ ữ đ đ ề ề u u ph ph ả ả i i h h ỗ ỗ tr tr ợ ợ Đ Đ ặ ặ c c t t í í nh nh c c ủ ủ a a IL: IL: – – H H ỗ ỗ tr tr ợ ợ hư hư ớ ớ ng ng đ đ ố ố i i tư tư ợ ợ ng ng v v à à giao giao ti ti ế ế p p :. Minh 6 6 Assemblies Assemblies L L à à m m ộ ộ t t đơn đơn v v ị ị logic logic ch ch ứ ứ a a c c á á c c mã mã đã đã đư đư ợ ợ c c biên biên d d ị ị ch ch b b ở ở i i .NET. .NET. Ch Ch ứ ứ a a m m ộ ộ t t metadata metadata