Bài giảng C# và môi trường Donet - Bài 4: Mảng, lệnh foreach, lớp Random Kí tự và Chuỗi kí tự

ppt 18 trang phuongnguyen 4050
Bạn đang xem tài liệu "Bài giảng C# và môi trường Donet - Bài 4: Mảng, lệnh foreach, lớp Random Kí tự và Chuỗi kí tự", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_c_va_moi_truong_donet_bai_4_mang_lenh_foreach_lop.ppt

Nội dung text: Bài giảng C# và môi trường Donet - Bài 4: Mảng, lệnh foreach, lớp Random Kí tự và Chuỗi kí tự

  1. Bài 4 Mảng, lệnh foreach, lớp Random Kí tự và Chuỗi kí tự
  2. ▪ Ôn tập lại bài cũ • Các phép toán • Ép kiểu • Boxing and Unboxing • Câu lệnh rẽ nhánh • Câu lệnh lặp • Câu lệnh nhảy
  3. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Nội dung trình bày • Khái niệm mảng • Khai báo mảng một chiều • Khai báo mảng 2 chiều • Lớp Array • Câu lệnh foreach • Lớp Random • Lớp Char và String (Kí tự và Chuỗi kí tự) Subject name / Session# / 3 of Totalpage
  4. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Mảng là gì? • Mảng là kiểu dữ liệu dùng để lưu một tập các phần tử có cùng kiểu dữ liệu • Mảng là kiểu dữ liệu thuộc nhóm kiểu dữ liệu tham chiếu(reference Type) • Các phần tử của mảng được gán giá trị mặc định • Phân loại: gồm có mảng 1 chiều và mảng nhiều chiều
  5. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Khai báo mảng một chiều ▪ Cách 1: • tên mảng • Tên mảng = new [kích thước]; • Ví dụ: int [] marks; marks = new int[5]; ▪ Cách 2 • Vừa khai báo và vừa khởi tạo int[] marks = new int[5]; string[] subject = new string[5];
  6. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Truy xuất các phần tử trong mảng một chiều • Các phần tử trong mảng được truy xuất thông qua chỉ số • Chỉ số được đánh số bắt đầu từ số 0 • Để gán giá trị cho một phần tử trong mảng dùng cú pháp: − Tênmảng[chỉsố] = giá trị; − Ví dụ a[0] = 10; a[1] = 20; • Để lấy giá trị một phần tử trong mảng dùng cú pháp: − Tênmảng[chỉsố] − Ví dụ: Console.WriteLine(a[0]); ▪ Ví dụ minh họa mảng một chiều
  7. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Mảng nhiều chiều: • Có 2 loại: − Rectangular Array − Jagged Array • Rectangular Array: là mảng nhiều chiều kích thước của mỗi chiều phải là hằng số • Jagged Array: là mảng nhiều chiều trong đó kích thước của một chiều có thể thay đổi (Mảng của các mảng)
  8. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Khai báo mảng nhiều chiều • Kiểu rectangle DataType[,] arrayName = new DataType[size1,size2]; int[] marks = new int[4,5]; • Kiểu jagged DataType[][] arrayName = new DataType[size][] string[][] a = new string[3][] ▪ Ví dụ minh họa về mảng 2 chiều
  9. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Lớp Array • Là lớp dùng chứa các phương thức để thao tác với mảng • Cú pháp để tạo một đối tượng thuộc lớp Array Array objName = new Array(); • Một số thuộc tính − Length: trả về số tổng số phần tử mà mảng có thể chứa − LongLength: trả về số nguyên 64 bit biểu diễn tổng số phần tử mà mảng có thể chứa − Rank: trả về số chiều của mảng
  10. Mảng, lớp Array, kí tự và chuỗi kí tự • Một số phương thức thông dụng − CreateInstance: tạo ra một đối tượng của lớp Array − Sort: sắp xếp các phần tử bên trong một mảng theo thứ tự tăng dần − Find: tìm một phần tử trong mảng thỏa mãn điều kiện − FindAll: tìm tất cả các phần tử trong mảng thỏa mãn điều kiện − BinarySeach: Tìm kiếm trên mảng một chiều đã được sắp xếp. − Copy: dùng để copy một tập các phần tử từ mảng này sang mảng khác − CopyTo: copy toàn bộ các phần tử từ mảng một chiều này sang mảng một chiều khác
  11. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Ví dụ minh họa lớp Array
  12. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Câu lệnh foreach • Là câu lệnh lặp mở rộng • Dùng để duyệt các phần tử bên trong một tập hợp(Collection) • Cú pháp • foreach(DataType in ) • { − //câu lệnh • } • Ví dụ minh họa câu lệnh foreach
  13. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Lớp Random • Dùng để sinh ra một số ngẫu nhiên • Cú pháp để tạo một đối tượng thuộc lớp Random − Random rd1 = new Random(); − Random rd2 = new Random(n) • Các phương thức − Next(): sinh ra môt số ngẫu nhiên lớn hơn 0 − Next(n): sinh ra một số ngẫu nhiên lớn hơn 0 và nhỏ hơn n − NextDouble(): sinh ra một số double ngẫu nhiên lớn hơn 0 và nhỏ hơn 1 − Để sinh ra một số nằm trong khỏang a,b làm thế nào? a + (b-a)*rd.NextDouble(); ▪ Ví dụ minh họa lớp Random
  14. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Lớp char và String ▪ char là kiểu dữ liệu trong C# ▪ Char hoặc char còn là một struct để biểu diễn một kí tự Unicode ▪ Char struct có một số phương thức • ToUpper(): Chuyển từ kí tự thường về kí tự hóa • ToLower(): chuyển từ kí tự hoa về thường • Parse(): chuyển một chuỗi về kiểu char(chuỗi chỉ gồm 1 kí tự) ▪ Ví dụ minh họa kiểu char
  15. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Chuỗi kí tự ▪ String hay string là một lớp, gồm các phương thức để thao tác với chuỗi kí tự ▪ Cú pháp để tạo ra một đối tượng lớp string(hoặc String): • String s1, string s2; ▪ Các thuộc tính: • Length: trả về chiều dài của chuỗi(số kí tự trong chuỗi)
  16. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Các phương thức thường dùng: • ToLower(): chuyển chuỗi kí tự hoa -> về thường • ToUpper(): chuyển chuỗi kí tự thường -> hoa • Substring(): cắt 1 chuỗi con từ chuỗi mẹ • CompareTo(): so sánh 2 chuỗi − S1.CompareTo(S2):  Trả về số nguyên nhỏ hơn 0 nếu s1 nhỏ hơn s2  Trả về số nguyên lớn hơn 0 nếu s1 lớn hơn s2  Trả về 0 nếu 2 chuỗi bằng nhau • CopyTo: copy một chuỗi sang chuỗi khác
  17. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Các phương thức thường dùng: • S1.Replace(oldstring,newString): Thay thế một chuỗi bằng một chuỗi khác • S1.Remove(i): xóa kí tự từ chỉ số nào đó đến hết chuỗi • S1.Contains(s2): tìm xem chuỗi s2 có tồn tại trong chuỗi s1 không ▪ Các ví dụ minh họa chuỗi kí tự
  18. Mảng, lớp Array, kí tự và chuỗi kí tự ▪ Tổng kết • Mảng • Câu lệnh foreach • Lớp Random • Lớp Char và String