Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
216,82 KB
Nội dung
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 4: i 4:.NET.NET v v à à c c á á c c l l ớ ớ p p cơcơ b b ả ả n n Đ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: 28. December 2006 28. December 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 System.Object System.Object X X ử ử lý lý String String Regular Expression Regular Expression Groups of Objects Groups of Objects Reflection Reflection Threading Threading 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 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 không n u không n ó ó i g i g ì ì , m , m ộ ộ t l t l ớ ớ p b p b ấ ấ t k t k ỳ ỳ coi như đư coi như đư ợ ợ c k c k ế ế th th ừ ừ a t a t ừ ừ Object Object C C á á c phương th c phương th ứ ứ c c – – public public virutal virutal string string ToString ToString () () override phương th override phương th ứ ứ c n c n à à y đ y đ ể ể chuy chuy ể ể n m n m ộ ộ t đ t đ ố ố i tư i tư ợ ợ ng th ng th à à nh xâu ký nh xâu ký t t ự ự . . Thư Thư ờ ờ ng d ng d ù ù ng khi k ng khi k ế ế t xu t xu ấ ấ t thông tin v t thông tin v ề ề đ đ ố ố i tư i tư ợ ợ ng. ng. – – public public virutal virutal int int GetHashTable GetHashTable () () Tr Tr ả ả v v ề ề m m ộ ộ t gi t gi á á tr tr ị ị băm c băm c ủ ủ a đ a đ ố ố i tư i tư ợ ợ ng ng Thư Thư ờ ờ ng d ng d ù ù ng khi t ng khi t ạ ạ o kho o kho á á truy xu truy xu ấ ấ t cho đ t cho đ ố ố i tư i tư ợ ợ ng trong m ng trong m ộ ộ t t t t ậ ậ p d p d ữ ữ li li ệ ệ u như b u như b ả ả ng băm ho ng băm ho ặ ặ c t c t ừ ừ đi đi ể ể n. n. – – public public virutal virutal bool bool Equals(object Equals(object obj obj ) ) – – public static public static bool bool Equals(object Equals(object objA objA , object , object objB objB ) ) – – public static public static bool bool ReferenceEquals(object ReferenceEquals(object objA objA , object , object objB objB ) ) So s So s á á nh hai đ nh hai đ ố ố i tư i tư ợ ợ ng ng 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 System.Object System.Object C C á á c c phương phương th th ứ ứ c c ( ( ti ti ế ế p p ) ) – – protected virtual void Finalize() protected virtual void Finalize() Mang Mang ý ý ngh ngh ĩ ĩ a a l l à à h h à à m m hu hu ỷ ỷ , , đư đư ợ ợ c c g g ọ ọ i i b b ở ở i i b b ộ ộ thu thu gom gom r r á á c c . . M M ặ ặ c c đ đ ị ị nh nh không không th th ự ự c c thi thi g g ì ì . . Ch Ch ỉ ỉ override override khi khi c c ầ ầ n n thi thi ế ế t t , , v v í í d d ụ ụ đ đ ó ó ng ng t t ậ ậ p p tin. tin. – – public Type public Type GetType GetType () () Tr Tr ả ả v v ề ề ki ki ể ể u u đ đ ố ố i i tư tư ợ ợ ng ng , , bao bao g g ồ ồ m m l l ớ ớ p p cha, cha, c c á á c c phương phương th th ứ ứ c c , , thu thu ộ ộ c c t t í í nh nh , , … … – – protected object protected object MemberwiseClone MemberwiseClone () () Copy Copy m m ộ ộ t t đ đ ố ố i i tư tư ợ ợ ng ng . . Ch Ch ú ú ý ý ch ch ỉ ỉ copy copy c c á á c c tham tham chi chi ế ế u u bên bên trong trong đ đ ố ố i i tư tư ợ ợ ng ng 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 X X ử ử lý lý String String C C ó ó 2 2 l l ớ ớ p p hay hay đư đư ợ ợ c c d d ù ù ng ng đ đ ể ể x x ử ử lý lý xâu xâu – – String: String: x x ử ử lý lý c c á á c c xâu xâu ký ký t t ự ự – – StringBuilder StringBuilder : : xây xây d d ự ự ng ng m m ộ ộ t t xâu xâu ký ký t t ự ự String: String: ch ch ứ ứ a a c c á á c c phương phương th th ứ ứ c c cơcơ b b ả ả n n trong trong vi vi ệ ệ c c x x ử ử lý lý xâu xâu ký ký t t ự ự . . – – Compare(): so Compare(): so s s á á nh nh hai hai xâu xâu . . – – CompareOrdinal CompareOrdinal (): so (): so s s á á nh nh , , nhưng nhưng không không t t í í nh nh đ đ ế ế n n văn văn ho ho á á (culture) (culture) – – Format(): Format(): đ đ ị ị nh nh d d ạ ạ ng ng xâu xâu d d ự ự a a trên trên bi bi ể ể u u th th ứ ứ c c đ đ ị ị nh nh d d ạ ạ ng ng v v à à c c á á c c tham tham s s ố ố đ đ ầ ầ u u v v à à o o 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 X X ử ử lý lý String String C C á á c c phương phương th th ứ ứ c c c c ủ ủ a a String ( String ( ti ti ế ế p p ) ) – – IndexOf IndexOf (), (), IndexOfAny IndexOfAny (), (), LastIndexOf LastIndexOf (), (), LastIndexOfAny LastIndexOfAny (): (): t t ì ì m m ki ki ế ế m m chu chu ỗ ỗ i i ký ký t t ự ự , , ho ho ặ ặ c c m m ộ ộ t t ph ph ầ ầ n n chu chu ỗ ỗ i i ký ký t t ự ự trong trong m m ộ ộ t t xâu xâu cho cho trư trư ớ ớ c c . . – – PadLeft PadLeft (), (), PadRight PadRight (): (): đi đi ề ề n n thêm thêm v v à à o o đ đ ầ ầ u u ho ho ặ ặ c c cu cu ố ố i i xâu xâu b b ở ở i i ký ký t t ự ự cho cho trư trư ớ ớ c c . . – – Replace(): Replace(): thay thay th th ế ế m m ộ ộ t t m m ẫ ẫ u u trong trong xâu xâu b b ở ở i i m m ộ ộ t t chu chu ỗ ỗ i i ký ký t t ự ự kh kh á á c c . . – – Split(): Split(): c c ắ ắ t t m m ộ ộ t t xâu xâu th th à à nh nh m m ộ ộ t t t t ậ ậ p p h h ợ ợ p p c c á á c c xâu xâu con con d d ự ự a a theo theo m m ộ ộ t t ký ký t t ự ự phân phân c c á á ch ch cho cho trư trư ớ ớ c c . . – – Substring(): Substring(): l l ấ ấ y y m m ộ ộ t t ph ph ầ ầ n n xâu xâu con con t t ừ ừ m m ộ ộ t t xâu xâu cho cho trư trư ớ ớ c c . . – – ToLower ToLower (), (), ToUpper ToUpper (): (): bi bi ế ế n n c c á á c c ký ký t t ự ự trong trong xâu xâu th th à à nh nh ký ký t t ự ự thư thư ờ ờ ng ng ho ho ặ ặ c c ký ký t t ự ự hoa hoa . . – – Trim(), Trim(), TrimEnd TrimEnd (), (), TrimStart TrimStart (): (): xo xo á á c c á á c c ký ký t t ự ự tr tr ắ ắ ng ng ở ở đ đ ầ ầ u u , , cu cu ố ố i i xâu xâu . . – – Insert(), Remove(): Insert(), Remove(): ch ch è è n n v v à à o o , , xo xo á á đi đi m m ộ ộ t t xâu xâu con con trong trong m m ộ ộ t t xâu xâu cho cho trư trư ớ ớ c c . . – – StartsWith StartsWith (), (), EndsWith EndsWith (): (): ki ki ể ể m m tra tra xem xem xâu xâu c c ó ó b b ắ ắ t t đ đ ầ ầ u u , , k k ế ế t t th th ú ú c c b b ở ở i i m m ộ ộ t t xâu xâu kh kh á á c 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 7 7 X X ử ử lý lý String String Đ Đ ể ể x x ử ử lý lý xâu xâu , , ch ch ú ú ng ng ta ta hay hay d d ù ù ng ng c c á á c c ph ph é é p p to to á á n n như như so so s s á á nh nh , , g g á á n n , , c c ộ ộ ng ng thêm thêm (+=) (+=) – – Ưu Ưu đi đi ể ể m m : : C C á á c c ph ph é é p p to to á á n n đơn đơn gi gi ả ả n n , , d d ễ ễ d d ù ù ng ng – – Như Như ợ ợ c c đi đi ể ể m m : : Hi Hi ệ ệ u u su su ấ ấ t t qu qu ả ả n n lý lý b b ộ ộ nh nh ớ ớ th th ấ ấ p p Khi Khi c c ầ ầ n n xây xây d d ự ự ng ng m m ộ ộ t t chu chu ỗ ỗ i i văn văn b b ả ả n n ph ph ứ ứ c c t t ạ ạ p p v v à à c c ó ó đ đ ộ ộ d d à à i i tương tương đ đ ố ố i i l l ớ ớ n n , , ch ch ú ú ng ng ta ta d d ù ù ng ng l l ớ ớ p p StringBuilder StringBuilder – – StringBuilder StringBuilder cho cho ph ph é é p p n n ố ố i i thêm thêm c c á á c c xâu xâu m m ớ ớ i i v v à à o o trong trong m m ộ ộ t t t t ậ ậ p p h h ợ ợ p p c c á á c c xâu xâu c c ó ó s s ẵ ẵ n n m m à à không không c c ầ ầ n n qu qu á á nhi nhi ề ề u u c c á á c c thao thao t t á á c c x x ử ử lý lý v v ù ù ng ng nh nh ớ ớ – – V V í í d d ụ ụ : : 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 X X ử ử lý lý String String StringBuilder StringBuilder – – Append(): Append(): n n ố ố i i thêm thêm v v à à o o đuôi đuôi m m ộ ộ t t xâu xâu m m ớ ớ i i – – Insert(): Insert(): ch ch è è n n v v à à o o m m ộ ộ t t v v ị ị tr tr í í b b ấ ấ t t k k ỳ ỳ m m ộ ộ t t xâu xâu m m ớ ớ i i . . – – Remove(): Remove(): xo xo á á b b ỏ ỏ m m ộ ộ t t xâu xâu con con t t ạ ạ i i v v ị ị tr tr í í hi hi ệ ệ n n th th ờ ờ i i – – ToString ToString (): (): sau sau khi khi xây xây d d ự ự ng ng t t ậ ậ p p c c á á c c xâu xâu xong xong , , phương phương th th ứ ứ c c n n à à y y bi bi ế ế n n đ đ ổ ổ i i t t ậ ậ p p c c á á c c xâu xâu th th à à nh nh chu chu ỗ ỗ i i văn văn b b ả ả n n duy duy nh nh ấ ấ t t . . 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 X X ử ử lý lý String String String.Format String.Format : : đ đ ị ị nh nh d d ạ ạ ng ng xâu xâu – – Gi Gi ố ố ng ng như như h h à à m m printf printf () () c c ủ ủ a a C, C, phương phương th th ứ ứ c c static Format static Format c c ủ ủ a a l l ớ ớ p p String String cho cho ph ph é é p p đ đ ị ị nh nh d d ạ ạ ng ng m m ộ ộ t t chu chu ỗ ỗ i i c c á á c c tham tham s s ố ố theo theo m m ẫ ẫ u u cho cho trư trư ớ ớ c c . . – – C C ú ú ph ph á á p p : : public static public static string string Format( Format( string string format format , , object object arg0 arg0 ); ); 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 X X ử ử lý lý String String Chu Chu ỗ ỗ i i format format ch ch ứ ứ a a m m ộ ộ t t ho ho ặ ặ c c nhi nhi ề ề u u c c á á c c đ đ ố ố i i tư tư ợ ợ ng ng c c ầ ầ n n format, format, theo theo m m ẫ ẫ u u { { index[,alignment][:formatString index[,alignment][:formatString ]} ]} – – index: index: ch ch ỉ ỉ s s ố ố c c ủ ủ a a đ đ ố ố i i tư tư ợ ợ ng ng trong trong danh danh s s á á ch ch c c á á c c đ đ ố ố i i tư tư ợ ợ ng ng c c ầ ầ n n format format – – alignment: alignment: tu tu ỳ ỳ ch ch ọ ọ n n , , l l à à đ đ ộ ộ d d à à i i t t ố ố i i thi thi ể ể u u đ đ ể ể ch ch ứ ứ a a gi gi á á trij trij chu chu ỗ ỗ i i c c ủ ủ a a đ đ ố ố i i tư tư ợ ợ ng ng đã đã đư đư ợ ợ c c format format – – formatString formatString : : mã mã format. format. – – V V í í d d ụ ụ , , string.Format( string.Format( “ “ I I have {0, have {0, - - 4:G} computers 4:G} computers ” ” , x), , x), v v ớ ớ i i x = 2 x = 2 th th ì ì gi gi á á tr tr ị ị l l à à “ “ I have 2___ computers I have 2___ computers ” ” [...]... Đoà 14 Generics Gererics cung cấp cáclớp cho phép sử lí một tập các đối tượng với kiểu của đối tượng như là tham số đầu vào – List: cho phép thao tác và xử lí một danh sách các đối tượng có kiểu T; – Stack: cung cấp cơ chế FILO với kiểu dữ liệu T; – Queue: cung cấp cơ chế FIFO với kiểu dữ liệu T; – LinkedList: cung cấp một danh sách liên kết đôi xử lí các đối tượng có kiểu T; – Dictionary:... Expression là lớp thực hiện các thao tác liên quan đến biểu thức chính quy: – Gồm một tập các ký tự đại diện; – Các phương thức phục vụ cho việc tìm kiếm và 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 và trích từ chuỗi đầu vào ra những... namespace), tên lớpcơ sở,… Ngoài ra, có thể lấy được các thông tin khác như các phương thức, các trường, các sự kiện, các giao tiếp,… – Assembly: chứa thông tin về assembly, bao gồm các thông tin 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 –... kiểu dữ liệu là T, kiểu khóa là K Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 15 Reflection Reflection là thuật ngữ chỉ cáclớp trong NET cho phép chúng ta có thể đọc được thông tin về các assembly Chúng nằm trong namespace System.Reflection – Type: cung cấp thông tin về kiểu của một đối tượng Bao gồm các thông tin như tên kiểu, tên đầy đủ (gồm cả namespace), tên lớpcơ sở,…... từng phần tử trong tập hợp Stack: Cung cấp cơ chế FILO, có 2 phương thức đặc biệt là Push() và Pop() Queue: cơ chế FIFO, có 2 phương thức đặc biệt là Enqueue() và 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... 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 – Các thuộc tính: Name: tên của thread Priority: mức độ ưu tiên của thread – Các phương thức: Start(): khởi động thread Suspend(): tạm ngưng thread Resume(): kích hoạt lại thread đang tạm ngưng Abort(): huỷ (ngắt giữa chừng) thread Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 17 Tàiliệu tham... (m.Success) { // match is found, s is a number } else { // match not found, s isn’t a number } Bài tập: kiểm tra một chuỗi có biểu diễn một địa chỉ mail hay không? Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 13 Group of Objects Group of Objects là cáclớp trong đó cho phép quản lý một tập hợp các đối tượng có cùng kiểu – ArrayList: tương tự như mảng, nhưng có nhiều tính năng ưu việt:... trắng, bao gồm cả tab \S Tất cả các ký tự mà không là khoảng trắng \b Kết thúc nhóm \B Không kết thúc nhóm Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 12 Biểu thức chính quy (Regular Expression) Biểu thức chính quy trong C# – Nằm trong namespace System.Text.RegularExpression – Cung cấp cáclớp Regex, Match,… Ví dụ – Kiểm tra xem 1 chuỗi đầu vào có là số nguyên hay không? Regex... giữa chừng) thread Lập trình nâng cao trong C# - Editor: trì Editor: Đoàn Quang Minh Đoà 17 Tàiliệ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àiliệ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 . Minh n Quang Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 4: i 4: .NET .NET v v à à c c á á c c l l ớ ớ p p cơ cơ b b ả ả n n Đo Đo à à n. ấ p p cơ cơ ch ch ế ế FILO FILO v v ớ ớ i i ki ki ể ể u u d d ữ ữ li li ệ ệ u u T; T; – – Queue<T>: Queue<T>: cung cung c c ấ ấ p p cơ cơ ch