Danh mục

Các giải pháp lập trình C Sharp_2

Số trang: 53      Loại file: pdf      Dung lượng: 738.66 KB      Lượt xem: 7      Lượt tải: 0    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: 31,000 VND Tải xuống file đầy đủ (53 trang) 0

Báo xấu

Xem trước 6 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong chương trình viết bằng ngôn ngữ C#, để miêu tả các chuỗi văn bản, ta thường dùng biến thuộc kiểu string hay String. string hay String là các class đối tượng có sẵn trong môi trường .Net được dùng để quản lý chuỗi văn bản. Để chuyển chuỗi sang 1 mảng ký tự, bạn có thể gọi tác vụ ToCharArray() của biến string hay String. Thí dụ sau là đoạn code C# demo việc chuyển chuỗi sang mảng các ký tự...
Nội dung trích xuất từ tài liệu:
Các giải pháp lập trình C Sharp_2 53 Chương 2: Thao tác d li uH u h t các ng d ng u c n thao tác trên m t lo i d li u nào ó. Microsoft .NET Framework cung c p nhi u k thu t ơn gi n hóa hay nâng cao hi u qu các thao tác d li u thông d ng. Chương này s c p các k thu t sau: Thao tác chu i m t cách hi u qu (m c 2.1). Mô t các ki u d li u cơ s b ng các ki u mã hóa khác nhau (m c 2.2, 2.3, và 2.4). S d ng bi u th c chính quy xác nh n tính h p l và thao tác chu i (m c 2.5 và 2.6). Làm vi c v i ngày và gi (m c 2.7 và 2.8). Làm vi c v i m ng và t p h p (m c 2.9, 2.10, và 2.11). Tu n t hóa tr ng thái i tư ng và lưu nó vào file (m c 2.12). Thao tác chuỗi một cách hiệu quả2.1 B n c n thao tác trên n i dung c a m t i tư ng String và tránh chi phí c a vi c t ng t o các i tư ng String m i do tính không i c a i tư ng String. S d ng l p System.Text.StringBuilder th c hi n các thao tác, sau ó chuy n k t qu thành String b ng phương th c StringBuilder.ToString.Các i tư ng String trong .NET là không i, nghĩa là m t khi ã ư c t o thì chúng khôngth b thay i. Ví d , n u b n t o m t String b ng cách n i m t s ký t ho c chu i, thì khithêm m t ph n t m i vào cu i String hi n có, b th c thi s t o ra m t String m i ch a k tqu (ch không ph i String cũ b thay i). Do ó s n y sinh chi phí áng k n u ng d ngc a b n thư ng xuyên thao tác trên String.L p StringBuilder kh c ph c v n này b ng cách cung c p m t b m ký t , và cho phépthao tác trên n i dung c a nó mà b th c thi không ph i t o i tư ng m i ch a k t qusau m i l n thay i. B n có th t o m t i tư ng StringBuilder r ng ho c ư c kh i t o làn i dung c a m t String hi n có. Sau ó, thao tác trên n i dung c a StringBuilder này b ngcác phương th c n p ch ng (cho phép b n chèn, thêm d ng chu i c a các ki u d li u khácnhau). Cu i cùng, g i StringBuilder.ToString chuy n n i dung hi n t i c aStringBuilder thành m t String.Khi b n thêm d li u m i vào chu i, có hai thu c tính quan tr ng nh hư ng n ho t ngc a StringBuilder là Capacity và Length. Capacity mô t kích thư c c a b mStringBuilder, còn Length mô t kích thư c c a chu i ký t trong b m. N u vi c thêm dli u m i vào StringBuilder làm kích thư c chu i (Length) vư t quá kích thư c b m(Capacity) thì StringBuilder s c p phát b mm i ch a chu i. N u thi u c n th n, vi cc p phát b m này có th ph nh l i ích c a vi c s d ng StringBuilder. Do ó, n u bi tchính xác kích thư c c a chu i, ho c bi t kích thư c t i a c a chu i, b n có th tránh vi cc p phát b m quá m c c n thi t b ng cách thi t l p thu c tính Capacity ho c ch nh kíchthư c b m lúc t o StringBuilder. Khi thi t l p các thu c tính Capacity và Length, c n chúý các i m sau:54Chương 2: Thao tác d li u N u b n thi t l p giá tr Capacity nh hơn giá tr Length, thu c tính Capacity s ném • ngo i l System.ArgumentOutOfRangeException. N u b n thi t l p giá tr Length nh hơn kích thư c c a chu i hi n có trong b m, • chu i s b c t b t ph n l n hơn. N u b n thi t l p giá tr Length l n hơn kích thư c c a chu i, b m s ư c l p • thêm các kho ng tr ng cho b ng v i Length. Vi c thi t l p giá tr Length l n hơn giá tr Capacity s t ng i u ch nh Capacity cho b ng v i Length.Phương th c ReverseString dư i ây minh h a cách s d ng l p StringBuilder om tchu i. N u không s d ng l p StringBuilder th c hi n thao tác này thì s t n chi phí ángk , c bi t khi chu i ngu n dài. Vi c kh i t o StringBuilder v i kích thư c b ng chu ingu n b o m không c n ph i c p phát l i b m trong quá trình o chu i.public static string ReverseString(string str) { // Ki m tra các trư ng h p không c n o chu i. if (str == null || str.Length == 1) { return str; } // T o m t StringBuilder v i s c ch a c n thi t. System.Text.StringBuilder revStr = new System.Text.StringBuilder(str.Length); // Duy t ngư c chu i ngu n t ng ký t m t // và thêm t ng ký t c ư c vào StringBuilder. for (int count = str.Length-1; count > -1; count--) { revStr.Append(str[count]); } // Tr v chu i ã ư c o. return revStr.ToString();} Mã hóa chuỗi bằng các kiểu mã hóa ký tự2.2 B n c n trao i d li u d ng ký t v i các h th ng s d ng ki u mã hóa khác v i UTF-16 (ki u mã hóa này ư c s d ng b i CRL). S d ng l p System.Text.Encoding và các l p con c a nó chuy n i k ý t gi a các ki u mã hóa k ...

Tài liệu được xem nhiều: