Là tập hợp nhiều phần tử có cùng kiểu dữ liệu
Số phần tử trong mảng được xác định trước
Mỗi phần tử được đánh số chỉ mục, bắt đầu từ 0
34 trang |
Chia sẻ: NamTDH | Lượt xem: 1180 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Xử lý mảng và chuỗi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Click to edit Master text styles Second level Third level Fourth level Fifth level ‹#› Click to edit Master title style Chương 2 Xử lý mảng và chuỗi Nội dung Mảng Các thao tác trên mảng Chuỗi Các thao tác trên chuỗi Mảng Là tập hợp nhiều phần tử có cùng kiểu dữ liệu Số phần tử trong mảng được xác định trước Mỗi phần tử được đánh số chỉ mục, bắt đầu từ 0 Hình ảnh Một phòng chứa các tủ Số lượng tủ chứa ? Tủ Chứa gì? Số thứ tự tủ, chỉ mục tủ Ví dụ mảng Khoa Tin Học Quản Lý 0 1 2 3 4 Mảng các từ Mảng các số nguyên 4 0 6 1 1 2 8 9 0 1 2 3 4 5 6 7 Khai báo mảng KiểuDữLiệu[] tênMảng; Ví dụ int[] bangDiem; string[] loiNoi; DateTime[] ngaySinh; Khởi tạo mảng tenMang = new KieuDuLieu[soPhanTu] Ví dụ diem = new int[10]; loiNoi = new string[20]; ngaySinh = new DateTime[7]; float diemTB = new float[5]; 0 0 0 0 0 0 1 4 3 2 Khởi tạo và gán giá trị tenMang = new KieuDuLieu[spt]{gtri1, gtri2, gtri3,…}; diem = new int[5]{ 5, 6, 7, 6, 9 } Giá trị không nhất thiết phải là hằng số Ví dụ Random r = new Random(); int[] pins = new int[4]{ r.Next() % 10, r.Next() % 10, r.Next() % 10, r.Next() % 10 }; Số giá trị trong dấu ngoặc phải bằng số phần tử mảng được khai báo Truy xuất từng phần tử mảng Xác định số phần tử của mảng tenMang.Length Truy xuất phần tử: tenMang[soThuTu] 0 :} trong FormatStr thành các giá trị value1, value2, … tương ứng. Ví dụ : string s = "Hello"; int n; n = 14; // "Giá trị n = 14.00, căn bậc 2 là 3.74" s = string.Format("Giá trị n = {0:N}, căn bậc 2 là {1:N}", n, Math.Sqrt(n)); Console.WriteLine(s); // "Giá thành sản phẩm = $200.00" s = string.Format("Giá thành sản phẩm = {0:C}", 200); Console.WriteLine(s); DateTime date = new DateTime(2011, 2, 2, 1, 1, 1, 511); // "Today is Monday, February 2, 2011" s = string.Format("Today is {0:D}", date); Console.WriteLine(s); Các hàm xử lý chuỗi bool Equals( string value) Nội dung : Trả về True nếu chuỗi đang xét bằng với chuỗi value, ngược lại trả về False. Ví dụ : string s = "Hello"; bool b; // Trả về b = True b = s.Equals("Hello"); string Insert( int startIndex, string value) Nội dung : Trả về chuỗi mới được xây dựng từ chuỗi ban đầu bằng cách chèn vào chuỗi ban đầu tại vị trí startIndex chuỗi con value. Ví dụ : string s = "Hello !"; string val = "everybody"; //Trả về "Helloeverybody !" s = s.Insert(5, val); Console.WriteLine(s); int IndexOf( char/string value) Nội dung : Trả về vị trí xuất hiện đầu tiên của ký tự hoặc chuỗi value trong chuỗi. Trả về -1 nếu không tìm thấy. Các hàm xử lý chuỗi int IndexOf( char/string value, int startIndex) Nội dung : Trả về vị trí xuất hiện đầu tiên của ký tự hoặc chuỗi value trong chuỗi kể từ vị trí startIndex. Trả về -1 nếu không tìm thấy. Ví dụ : string s = "Hello everybody !"; int i = 0; // Trả về i = 1 i = s.IndexOf("e"); // Trả về i = 6 i = s.IndexOf("e", i + 1); // Trả về i = 8 i = s.IndexOf("e", i + 1); int LastIndexOf( char/string value) Nội dung : Tương tự hàm IndexOf, nhưng trả về vị trí xuất hiện cuối cùng. int LastIndexOf( char/string value, int startIndex) Nội dung : Tương tự hàm IndexOf, nhưng trả về vị trí xuất hiện cuối cùng. Các hàm xử lý chuỗi string PadLeft( int width) Nội dung : Trả về chuỗi đã được canh lề trái. Thao tác canh lề như sau: tạo chuỗi mới gồm width ký tự, đặt chuỗi ban đầu vào bên phải chuỗi mới, các ký tự khoảng trắng sẽ được chen vào các vị trí còn trống bên trái trong chuỗi mới. Ví dụ : string s = "Hello!"; string s_leftaligned; // Trả về chuỗi " Hello!" s_leftaligned = s.PadLeft(10); Console.WriteLine(s_leftaligned); string PadLeft( int width, char ch) Nội dung : Tương tự hàm PadLeft ở trên, nhưng thay vì sử dụng các ký tự khoảng trắng, các ký tự ch sẽ được sử dụng. Ví dụ : string s = "Hello!"; string s_leftaligned; // Trả về chuỗi "****Hello!" s_leftaligned = s.PadLeft(10, '*'); Các hàm xử lý chuỗi string PadRight( int width) Nội dung : Tương tự hàm PadLeft, nhưng canh lề phải. string PadRight( int width, char ch) Nội dung : Tương tự hàm PadLeft, nhưng canh lề phải. string Remove( int startIndex, int count) Nội dung : Trả về chuỗi được xây dựng bằng cách bỏ đi trong chuỗi ban đầu count ký tự bắt đầu từ vị trí startIndex. Ví dụ : string s = "Hello!!!"; // Trả về chuỗi "Hell!" s = s.Remove(4, 3); string Replace( string oldStr, string newStr) Nội dung : Trả về chuỗi được xây dựng bằng cách thay thế các chuỗi con oldStr trong chuỗi ban đầu bằng các chuỗi con newStr. Ví dụ : string s = "Hello"; // Trả về chuỗi "Hero"; s = s.Replace("ll", "r"); Các hàm xử lý chuỗi bool StartsWith(string value) Nội dung : Ngược lại với hàm EndsWith string Substring(int startIdx, int count) Nội dung : Trả về chuỗi con trong chuỗi ban đầu, bắt đầu từ vị trí startIdx và có độ dài count ký tự. Ví dụ : string s = "Hello"; // Trả về chuỗi "ell"; s = s.Substring(1, 3); Các hàm xử lý chuỗi string ToLower() Nội dung : Trả về chuỗi có kiểu chữ thường từ chuỗi ban đầu. string ToUpper() Nội dung : Trả về chuỗi có kiểu chữ hoa từ chuỗi ban đầu. string Trim() Nội dung : Trả về chuỗi mới sau khi bỏ đi các ký tự khoảng trắng ở đầu và cuối của chuỗi ban đầu. Tương tự hàm Trim trong thư viện hàm của VB.Net. string TrimEnd() Nội dung : Tương tự hàm Trim, nhưng chỉ bỏ đi các ký tự khoảng trắng ở cuối. string TrimStart() Nội dung : Tương tự hàm Trim, nhưng chỉ bỏ đi các ký tự khoảng trắng ở đầu. Các hàm xử lý chuỗi string[] Split (params char[] separator) Nội dung: Trả về mảng các chuỗi con được phân cách bởi separator Ví dụ : string str = "mot,hai,ba"; //Tra ve mang gom {"mot", "hai", "ba"} string[] str2 = str.Split(','); Console.WriteLine(str2[1]); static string Join (string separator, string[] value) Nội dung: Nối các chuỗi trong mảng value thành 1 chuỗi, phân cách bởi separator Ví dụ : string[] mang = new string[3]; mang[0] = "mot"; mang[1] = "hai"; mang[2] = "ba"; //Tra ve chuoi "mot*hai*ba" string str = string.Join("*", mang);
Các file đính kèm theo tài liệu này:
- chuong_2_mang_va_chuoi_8917.pptx