Bài giảng Lập trình C# - Bài 4: Mảng, lệnh foreach, lớp Random - Kí tự và Chuỗi kí tự
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ự)
Bạn đang xem nội dung tài liệu Bài giảng Lập trình C# - Bài 4: Mảng, lệnh foreach, lớp Random - Kí tự và Chuỗi kí tự, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 4Mảng, lệnh foreach, lớp RandomKí tự và Chuỗi kí tựÔn tập lại bài cũCác phép toánÉp kiểuBoxing and UnboxingCâu lệnh rẽ nhánhCâu lệnh lặpCâu lệnh nhảySubject name / Session# / 3 of TotalpageNội dung trình bàyKhái niệm mảngKhai báo mảng một chiềuKhai báo mảng 2 chiềuLớp ArrayCâu lệnh foreachLớp RandomLớp Char và String (Kí tự và Chuỗi kí tự)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ệuMả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 địnhPhân loại: gồm có mảng 1 chiều và mảng nhiều chiềuMảng, lớp Array, kí tự và chuỗi kí tựKhai báo mảng một chiềuCách 1: tên mảngTên mảng = new [kích thước];Ví dụ: int [] marks;marks = new int[5];Cách 2Vừa khai báo và vừa khởi tạo int[] marks = new int[5]; string[] subject = new string[5];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ềuCá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ềuMảng, lớp Array, kí tự và chuỗi kí tựMảng nhiều chiều: Có 2 loại:Rectangular ArrayJagged ArrayRectangular 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)Mảng, lớp Array, kí tự và chuỗi kí tựKhai báo mảng nhiều chiềuKiểu rectangleDataType[,] 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ềuMảng, lớp Array, kí tự và chuỗi kí tựLớp ArrayLà lớp dùng chứa các phương thức để thao tác với mảngCú pháp để tạo một đối tượng thuộc lớp Array Array objName = new Array();Một số thuộc tínhLength: trả về số tổng số phần tử mà mảng có thể chứaLongLength: trả về số nguyên 64 bit biểu diễn tổng số phần tử mà mảng có thể chứaRank: trả về số chiều của mảngMảng, lớp Array, kí tự và chuỗi kí tự Một số phương thức thông dụngCreateInstance: tạo ra một đối tượng của lớp ArraySort: sắp xếp các phần tử bên trong một mảng theo thứ tự tăng dầnFind: tìm một phần tử trong mảng thỏa mãn điều kiệnFindAll: tìm tất cả các phần tử trong mảng thỏa mãn điều kiệnBinarySeach: 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ácCopyTo: 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ácMảng, lớp Array, kí tự và chuỗi kí tựVí dụ minh họa lớp ArrayMảng, lớp Array, kí tự và chuỗi kí tựCâu lệnh foreachLà câu lệnh lặp mở rộngDùng để duyệt các phần tử bên trong một tập hợp(Collection)Cú phápforeach(DataType in ){//câu lệnh}Ví dụ minh họa câu lệnh foreachMảng, lớp Array, kí tự và chuỗi kí tựLớp RandomDùng để sinh ra một số ngẫu nhiênCú pháp để tạo một đối tượng thuộc lớp RandomRandom rd1 = new Random();Random rd2 = new Random(n)Các phương thứcNext(): sinh ra môt số ngẫu nhiên lớn hơn 0Next(n): sinh ra một số ngẫu nhiên lớn hơn 0 và nhỏ hơn nNextDouble(): 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 RandomMảng, lớp Array, kí tự và chuỗi kí tựLớp char và Stringchar 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ự UnicodeChar struct có một số phương thứcToUpper(): Chuyển từ kí tự thường về kí tự hóaToLower(): chuyển từ kí tự hoa về thườngParse(): 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 charMả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)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ườngToUpper(): chuyển chuỗi kí tự thường -> hoaSubstring(): cắt 1 chuỗi con từ chuỗi mẹCompareTo(): so sánh 2 chuỗiS1.CompareTo(S2): Trả về số nguyên nhỏ hơn 0 nếu s1 nhỏ hơn s2Trả về số nguyên lớn hơn 0 nếu s1 lớn hơn s2Trả về 0 nếu 2 chuỗi bằng nhauCopyTo: copy một chuỗi sang chuỗi khácMả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ácS1.Remove(i): xóa kí tự từ chỉ số nào đó đến hết chuỗiS1.Contains(s2): tìm xem chuỗi s2 có tồn tại trong chuỗi s1 khôngCác ví dụ minh họa chuỗi kí tựMảng, lớp Array, kí tự và chuỗi kí tựTổng kếtMảngCâu lệnh foreachLớp RandomLớp Char và StringMảng, lớp Array, kí tự và chuỗi kí tự