Giáo trình c# và NET framework bài 3 và 4

35 289 1
Giáo trình c# và  NET framework bài 3 và 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài 3: Lập trình nâng cao trong C#Bài 4: Các lớp cơ bản trong C#

L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 3: L i 3: L ậ ậ p tr p tr ì ì nh nâng cao nh nâng cao trong trong C# C# Đo Đo à à n Quang Minh n Quang Minh minhdqtt@gmail.com minhdqtt@gmail.com http http ://www.VTPortal.net ://www.VTPortal.net Last update: Last update: 21. Dec 2006 21. Dec 2006 L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 2 2 M M ụ ụ c l c l ụ ụ c c Exceptions Exceptions User User - - Defined Casts Defined Casts Delegates Delegates Events Events Generics Generics Preprocessor Directive Preprocessor Directive Unsafe code Unsafe code L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 3 3 Errors and Exception Handling Errors and Exception Handling L L ỗ ỗ i luôn luôn t i luôn luôn t ồ ồ n t n t ạ ạ i, cho d i, cho d ù ù h h ệ ệ th th ố ố ng đư ng đư ợ ợ c thi c thi ế ế t k t k ế ế t t ố ố t t th th ế ế n n à à o o – – L L ỗ ỗ i không đư i không đư ợ ợ c quy c quy ề ề n truy c n truy c ậ ậ p p – – L L ỗ ỗ i do thi i do thi ế ế t b t b ị ị h h ỏ ỏ ng ng ( ( đ đ í í a l a l ỗ ỗ i) i) – – L L ỗ ỗ i do đư i do đư ờ ờ ng truy ng truy ề ề n m n m ạ ạ ng h ng h ỏ ỏ ng ng Khi m Khi m ộ ộ t l t l ỗ ỗ i xu i xu ấ ấ t hi t hi ệ ệ n, .NET s n, .NET s ẽ ẽ n n é é m ra m m ra m ộ ộ t ngo t ngo ạ ạ i l i l ệ ệ – – C C á á c ngo c ngo ạ ạ i l i l ệ ệ đ đ ề ề u k u k ế ế th th ừ ừ a t a t ừ ừ l l ớ ớ p Exception p Exception – – T T ấ ấ t c t c ả ả c c á á c ngo c ngo ạ ạ i l i l ệ ệ cơ b cơ b ả ả n đ n đ ề ề u đư u đư ợ ợ c cung c c cung c ấ ấ p b p b ở ở i .NET i .NET – – N N ế ế u g u g ặ ặ p l p l ỗ ỗ i, ch i, ch ú ú ng ta nên n ng ta nên n é é m ra m m ra m ộ ộ t ngo t ngo ạ ạ i l i l ệ ệ đ đ ặ ặ c bi c bi ệ ệ t trong đ t trong đ ó ó c c ó ó mô t mô t ả ả thông tin rõ r thông tin rõ r à à ng v ng v ề ề ngo ngo ạ ạ i l i l ệ ệ đ đ ó ó – – N N ế ế u không t u không t ì ì m đư m đư ợ ợ c l c l ớ ớ p ngo p ngo ạ ạ i l i l ệ ệ ph ph ù ù h h ợ ợ p, c p, c ó ó th th ể ể xây d xây d ự ự ng l ng l ớ ớ p p ngo ngo ạ ạ i l i l ệ ệ c c ủ ủ a riêng m a riêng m ì ì nh nh L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 4 4 Errors and Exception Handling Errors and Exception Handling L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 5 5 Errors and Exception Handling Errors and Exception Handling try try { { … … } } catch (Exception e) catch (Exception e) { { … … } } finally finally { { … … } } L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 6 6 Errors and Exception Handling Errors and Exception Handling Ph Ph ầ ầ n n try try th th ự ự c c thi thi c c á á c c l l ệ ệ nh nh b b ì ì nh nh thư thư ờ ờ ng ng Ph Ph ầ ầ n n catch catch x x ử ử lý lý c c á á c c ngo ngo ạ ạ i i l l ệ ệ c c ó ó th th ể ể xu xu ấ ấ t t hi hi ệ ệ n n – – N N ế ế u u không không s s ử ử d d ụ ụ ng ng ngo ngo ạ ạ i i l l ệ ệ n n é é m m ra ra , , c c ó ó th th ể ể b b ỏ ỏ qua qua ph ph ầ ầ n n đ đ ố ố i i tư tư ợ ợ ng ng đ đ ó ó . . – – C C ó ó th th ể ể c c ó ó nhi nhi ề ề u u ph ph ầ ầ n n catch catch trong trong m m ộ ộ t t kh kh ố ố i i try catch try catch , , khi khi đ đ ó ó m m ỗ ỗ i i ph ph ầ ầ n n catch catch x x ử ử lý lý m m ộ ộ t t ngo ngo ạ ạ i i l l ệ ệ kh kh á á c c nhau nhau . . – – Ngo Ngo ạ ạ i i l l ệ ệ c c ó ó th th ể ể đư đư ợ ợ c c n n é é m m l l ạ ạ i i b b ằ ằ ng ng t t ừ ừ kh kh ó ó a a throw throw . . Ph Ph ầ ầ n n finally finally th th ự ự c c thi thi c c á á c c l l ệ ệ nh nh k k ế ế t t th th ú ú c c c c ủ ủ a a kh kh ố ố i i l l ệ ệ nh nh . . V V í í d d ụ ụ trong trong vi vi ệ ệ c c x x ử ử lý lý t t ậ ậ p p tin tin – – Ph Ph ầ ầ n n try try th th ự ự c c thi thi c c á á c c l l ệ ệ nh nh như như m m ở ở file, file, đ đ ọ ọ c c ghi ghi b b ì ì nh nh thư thư ờ ờ ng ng – – Ph Ph ầ ầ n n catch catch x x ử ử lý lý l l ỗ ỗ i i . . – – Ph Ph ầ ầ n n finally finally , , n n ế ế u u file file đư đư ợ ợ c c m m ở ở th th ì ì ph ph ả ả i i đ đ ó ó ng ng l l ạ ạ i i L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 7 7 User User - - Defined Casts Defined Casts To To á á n n t t ử ử é é p p ki ki ể ể u u as as Ch Ch ú ú ng ng ta ta thư thư ờ ờ ng ng xuyên xuyên ph ph ả ả i i é é p p ki ki ể ể u u trong trong C# C# – – C C ó ó 2 2 lo lo ạ ạ i i é é p p ki ki ể ể u u trong trong C#: implicit (an C#: implicit (an to to à à n n tuy tuy ệ ệ t t đ đ ố ố i i ), ), explicit(c explicit(c ó ó r r ủ ủ i i ro ro ) ) – – C C ó ó th th ể ể é é p p ki ki ể ể u u t t ừ ừ l l ớ ớ p p k k ế ế th th ừ ừ a a v v ề ề l l ớ ớ p p cơ cơ s s ở ở , song , song không không th th ể ể l l à à m m ngư ngư ợ ợ c c l l ạ ạ i i – – C C ó ó th th ể ể é é p p ki ki ể ể u u qua qua l l ạ ạ i i gi gi ữ ữ a a 2 2 l l ớ ớ p p , , khi khi đ đ ó ó c c ầ ầ n n khai khai b b á á o o h h à à m m é é p p ki ki ể ể u u public static implicit operator public static implicit operator conv conv - - type type - - out out ( ( conv conv - - type type - - in in operand operand ) ) public static explicit operator public static explicit operator conv conv - - type type - - out out ( ( conv conv - - type type - - in in operand operand ) ) L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 8 8 Delegates Delegates delegate delegate – – C C ó ó nh nh ữ ữ ng ng công công vi vi ệ ệ c c không không x x á á c c đ đ ị ị nh nh l l ú ú c c biên biên d d ị ị ch ch , , ch ch ỉ ỉ x x á á c c đ đ ị ị nh nh l l ú ú c c th th ự ự c c thi thi . . – – C C á á c c thu thu ậ ậ t t to to á á n n t t ổ ổ ng ng qu qu á á t t , , v v í í d d ụ ụ s s ắ ắ p p x x ế ế p p : : không không th th ể ể đ đ ị ị nh nh ngh ngh ĩ ĩ a a phương phương th th ứ ứ c c so so s s á á nh nh 2 2 đ đ ố ố i i tư tư ợ ợ ng ng b b ấ ấ t t k k ỳ ỳ – – delegate delegate l l à à ki ki ể ể u u tham tham chi chi ế ế u u , , gi gi ố ố ng ng như như class ( class ( trong trong C#), C#), v v ề ề ý ý ngh ngh ĩ ĩ a a gi gi ố ố ng ng con con tr tr ỏ ỏ h h à à m m trong trong C++ C++ [ [ attributes attributes ] [ ] [ modifiers modifiers ] ] delegate delegate result result - - type type identifier identifier ( ( [ [ formal formal - - parameters parameters ] ] ); ); L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 9 9 Delegates Delegates delegate void delegate void MyDelegate(int MyDelegate(int i); i); class Program class Program { { public static void Main() public static void Main() { { TakesADelegate(new TakesADelegate(new MyDelegate(DelegateFunction MyDelegate(DelegateFunction )); )); } } public static void public static void TakesADelegate(MyDelegate TakesADelegate(MyDelegate SomeFunction SomeFunction ) ) { { SomeFunction(21); SomeFunction(21); } } public static void public static void DelegateFunction(int DelegateFunction(int i) i) { { System.Console.WriteLine("Called System.Console.WriteLine("Called by delegate with number: {0}.", i); by delegate with number: {0}.", i); } } } } L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 10 10 Events Events S S ự ự ki ki ệ ệ n n – – Đư Đư ợ ợ c c s s ử ử d d ụ ụ ng ng đ đ ể ể b b á á o o hi hi ệ ệ u u m m ộ ộ t t đi đi ề ề u u g g ì ì đ đ ó ó x x ả ả y y ra ra . . – – Trong Trong Windows, Windows, c c ó ó r r ấ ấ t t nhi nhi ề ề u u s s ự ự ki ki ệ ệ n n . . – – Trong Trong C#, event C#, event l l à à m m ộ ộ t t d d ạ ạ ng ng đ đ ặ ặ c c bi bi ệ ệ t t c c ủ ủ a a delegate delegate [ [ attributes attributes ] [ ] [ modifiers modifiers ] ] event event type type declarator declarator ; ; [ [ attributes attributes ] [ ] [ modifiers modifiers ] ] event event type type member member - - name name { { accessor accessor - - declarations declarations }; }; Ph Ph á á t t sinh sinh s s ự ự ki ki ệ ệ n n – – Đ Đ ị ị nh nh ngh ngh ĩ ĩ a a tham tham s s ố ố s s ự ự ki ki ệ ệ n n , , đ đ ặ ặ t t tên tên l l à à EventName EventName EventArgs EventArgs , , k k ế ế th th ừ ừ a a t t ừ ừ System.EventArgs System.EventArgs . . – – Đ Đ ị ị nh nh ngh ngh ĩ ĩ a a m m ộ ộ t t delegates delegates cho cho s s ự ự ki ki ệ ệ n n , , đ đ ặ ặ t t tên tên l l à à EventName EventName EventHandler EventHandler . . – – Ph Ph á á t t sinh sinh s s ự ự ki ki ệ ệ n n Khai Khai b b á á o o s s ự ự ki ki ệ ệ n n Khai Khai b b á á o o m m ộ ộ t t phương phương th th ứ ứ c c On On EventName EventName đ đ ể ể ph ph á á t t sinh sinh s s ự ự ki ki ệ ệ n n [...]... ory/hoc-tap-nghien-cuu/dot -net/ tab.aspx Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 17 C# and NET Framework Bài 4: NET các lớp cơ bản Đoàn Quang Minh minhdqtt@gmail.com http://www.VTPortal .net Last update: 28 December 2006 Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 1 Mục lục System.Object Xử lý String Regular Expression Groups of Objects Reflection Threading Lập trình. .. s.Push (3) ; int x = s.Pop(); Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 13 Preprocessor Directives #define and #undef #if, #elif, #else, and #endif #warning and #error #region and #endregion #line Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 14 Memory Management C# tự động quản lý bộ nhớ nhờ vào bộ thu gom rác – Bộ nhớ ảo trong Windows – Stack heap... dịch unsafe khi dịch chương trình Con trỏ: – Các khai báo sử dụng tương tự C++ Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 16 Tài liệu tham khảo Professional C#, Second Edition http://www.asp .net http://www.microsoft.com /net/ default.mspx http://www.codeproject.com Địa chỉ download tài liệu http://www.thanglong.edu.vn/giang-day/tab.aspx Diễn đàn C# & NET http://www.thanglong.edu.vn/forum/cmd/0/categ... Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 17 Tài liệu tham khảo Professional C#, Second Edition http://www.asp .net http://www.microsoft.com /net/ default.mspx http://www.codeproject.com Địa chỉ download tài liệu http://www.thanglong.edu.vn/nghien-cuu-phattrien/thang-long/tab.aspx Diễn đàn C# & NET http://www.thanglong.edu.vn/forum/cmd/0/categ ory/hoc-tap-nghien-cuu/dot -net/ tab.aspx... như tên assembly, tên công ty, phiên bản,… Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 16 Threading Các hệ thống thực đều là hệ đa tiến trình: – Các ứng dụng trong Windows chạy song song – Với một công việc, thông thường sẽ gồm nhiều công việc nhỏ chạy song song – NET hỗ trợ lập trình song song dựa vào thread Để tạo nhiều tiến trình chạy song song, chúng ta sẽ tạo ra các Thread... chuỗi văn bản phức tạp có độ dài tương đối lớn, chúng ta dùng lớp StringBuilder – StringBuilder cho phép nối thêm các xâu mới vào trong một tập hợp các xâu có sẵn mà không cần quá nhiều các thao tác xử lý vùng nhớ – Ví dụ: Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 7 Xử lý String StringBuilder – Append(): nối thêm vào đuôi một xâu mới – Insert(): chèn vào một vị trí bất kỳ... thay thế; – Sử dụng biểu thức chính quy, có thể thực hiện các công việc phức tạp về xử lý chuỗi Kiểm định chuỗi đầu vào theo một tiêu chuẩn nào đó; Định dạng lại chuỗi (thay thế các ký tự không hợp lệ); TÌm kiếm trích từ chuỗi đầu vào ra những thành phần đặc biệt Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 11 Biểu thức chính quy (Regular Expression) Ký tự Ý nghĩa ^ Bắt đầu... đặc biệt là Push() Pop() Queue: cơ chế FIFO, có 2 phương thức đặc biệt là Enqueue() Dequeue() – Dictionary: đối tượng từ điển, cung cấp cơ chế tìm kiếm đối tượng thông qua khoá Hashtable: bảng băm, mỗi đối tượng sẽ được đại diện bởi một giá trị băm, gọi là khoá Tác dụng tăng tốc trong các thao tác tìm kiếm Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 14 Generics Gererics... Format(): định dạng xâu dựa trên biểu thức định dạng các tham số đầu vào Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 5 Xử lý String Các phương thức của String (tiếp) – IndexOf(), IndexOfAny(), LastIndexOf(), LastIndexOfAny(): tìm kiếm chuỗi ký tự, hoặc một phần chuỗi ký tự trong một xâu cho trước – PadLeft(), PadRight(): điền thêm vào đầu hoặc cuối xâu bởi ký tự cho trước – Replace():... sinh một sự kiện, có thể bắt xử lý sự kiện đó – Để hander sự kiện trong Windows Form hoặc trong Web Form: Khai báo component (ví dụ button) Khai báo hàm xử lý sự kiện Gắn hàm vào sự kiện Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 11 Generics Generics – Cho phép class, struct, interface, method sử dụng kiểu dữ liệu mà nó lưu trữ như là tham số đầu vào – Khái niệm giống như . tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 3: L i 3: L ậ ậ p tr p tr ì ì nh. http://www.thanglong.edu.vn/forum/cmd/0/categ http://www.thanglong.edu.vn/forum/cmd/0/categ ory/hoc ory/hoc - - tap tap - - nghien nghien - - cuu/dot cuu/dot - - net/ tab.aspx net/ tab.aspx L L ậ ậ p tr p tr ì ì nh nâng cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 1 1 C# and .NET Framework C# and .NET. cao trong C# nh nâng cao trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 3 3 System.Object System.Object L L à à l l ớ ớ p cơ b p cơ b ả ả n c n c ủ ủ a C# a C# – – N N ế ế u

Ngày đăng: 27/04/2014, 16:00

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan