YOMEDIA

ADSENSE
Session 4_ Data Manipulation
88
lượt xem 22
download
lượt xem 22
download

Mảng đa chiều - Mảng đa chiều là mảng mà mỗi phần tử của mảng là một mảng khác. - Mảng 2 chiều được tổ chức thành các dòng và cột, các dòng được tính theo hàng ngang, các cột được tính theo hàng dọc. Trong bộ nhớ được tổ chức liên tục. ốS phần tử trong mảng bằng tích các kích thước mảng theo...
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Session 4_ Data Manipulation
- Thao tác dữ liệu 1. Kiểu dữ liệu mảng. + Khái niệm. + Mảng 1 chiều, mảng nhiều chiều. + Mảng của mảng. 2. Kiểu dữ liệu xâu kí tự. -Thao tác với kiểu dữ liệu xâu ký tự. - Thao tác chuỗi một cách hiệu quả sử dụng StringBuilder. - Sử dụng biểu thức chính quy để kiểm tra dữ liệu nh ập. 3. Kiểu dữ liệu liệt kê. 4. Kiểu dữ liệu struct. 1
- 1. Mảng (Arrays) - Khái niệm. - Khai báo mảng. - Làm việc với mảng (Working with Arrays). - Mảng nhiều chiều (Multidimensional Arrays in C#). - Mảng jagged. 2
- Khái niệm - Mảng là một tập hợp có thứ tự của những đối tượng, tất cả các đối tượng này cùng một kiểu. Mảng trong C# là một đối tượng. 3
- Mảng 2 chiều Mảng 1 chiều Mảng 3 chiều 4
- Mảng 1 chiều - Khai báo: + Cú pháp: [] ; Ví dụ: double [ ] arr_dbl; + Để tạo thể hiện của một mảng dùng từ khóa new arr_dbl =new double[6]; // Thiết lập trong bộ nhớ một mảng 6 số double. (1). + Mảng là kiểu dữ liệu tham chiếu được tạo ra trên heap. - Giá trị mặc định: + Khi tạo một mảng kiểu dữ liệu giá trị, mỗi thành phần dữ liệu sẽ chứa giá trị mặc định của kiểu dữ liệu. Như (1) 6 phần tử của mảng có giá trị 0. + Khi tạo một mảng kiểu dữ liệu tham chiếu, các ph ần t ử mảng mang giá trị null. 5
- Mảng 1 chiều - Truy cập các thành phần của mảng: Dùng toán tử ch ỉ mục [ ]. Mảng dùng cơ sở là 0, phần tử đầu tiên của mảng có chỉ mục bằng 0. - Ví dụ: arr_dbl[0] = 10.0; // Gán giá trị cho ph ần t ử đ ầu tiên của mảng. - In các phần tử của mảng: for(int i=0; i
- Khởi tạo thành phần của mảng - Có thể khởi tạo các phần tử của mảng ngay khi tạo thể hiện của mảng. - Có các cách như ví dụ sau: int[] myIntArray = new int [5]; int[] myIntArray = new int[5] { 2, 4, 6, 8, 10}; int[] myIntArray = { 2, 4, 6, 8, 10}; // Tập các giá tr ị 7
- Câu lệnh lặp foreach - Câu lệnh foreach cho phép chúng ta lặp qua t ất c ả các phần tử trong một mảng hay trong một tập hợp. - Cú pháp: foreach ( in ) { // thực hiện thông qua t ương ứng v ới // từng mục trong mảng hay tập hợp } 8
- Ví dụ foreach - Tính tổng các phần tử của mảng double. double[] arr_dbl = { 10, -0.5, 20, 12, -8.3}; double tong=0; foreach (double item in arr_dbl) tong += item; 9
- Mảng đa chiều - Mảng đa chiều là mảng mà mỗi phần tử của mảng là một mảng khác. - Mảng 2 chiều được tổ chức thành các dòng và cột, các dòng được tính theo hàng ngang, các cột được tính theo hàng dọc. Trong bộ nhớ được tổ chức liên tục. Số phần tử trong mảng bằng tích các kích thước mảng theo các chiều. - Lệnh foreach trong mảng đa chiều tương tự m ảng 1 chi ều. - Mảng nhiều chiều có 2 loại: + Mảng đa chiều cùng kích thước. + Mảng đa chiều không cùng kích thước. 10
- Mảng đa chiều cùng kích thước - Khai báo: [, ,…,] ; - Tạo thể hiện của một mảng k chiều: tên mảng = new [n1, …., nk]; - Để truy cập các phần tử của mảng k chiều phải dùng k chỉ số. Chỉ số cơ sở của mỗi chiều là 0. - Để duyệt qua tất cả các phần tử của mảng dùng k vòng lặp for lồng nhau hoặc vòng lặp foreach. 11
- Khởi tạo mảng nhiều chiều - Có thể khởi tạo mảng 2 chiều theo các cách như ví dụ sau: + Mảng hai chiều gồm hai hàng ba cột với phần tử kiểu nguyên : int[,] myRectArray = new int[2,3]; + Hoặc có thể khởi tạo như sau: int[,] myRectArray = new int[,]{ {1,2},{3,4},{5,6},{7,8}}; mảng 4 hàng 2 cột. int[,] myRectArray = new int[4,2]{ {1,2},{3,4},{5,6},{7,8}}; mảng 4 hàng 2 cột. string[,] beatleName = { {"Lennon","John"}, {"McCartney","Paul"}, {"Harrison","George"}, {"Starkey","Richard"} }; 12
- Làm việc với mảng - Thuộc tính Length trả về số phần tử của mảng: int arrayLength = integers.Length - Sắp xếp mảng tăng dần bằng cách phương thức static là Array.Sort(): Array.Sort(myArray); - Đảo ngược thứ tự các phần tử của mảng dùng phương th ức static Reverse() : Array.Reverse(myArray). - Clone(): copy mảng ra đối tượng kiểu System.Array. - CopyTo: Copy các phần tử của mảng ra một mảng khác. - GetLength: trả về kích thước mảng của chiều đã chỉ định. - Initialize(): khởi tạo các phần tử của mảng bằng giá trị mặc định của kiểu dữ liệu. - Rank: trả về số chiều của mảng. 13
- Mảng jagged - Jagged là mảng nhiều chiều có kích thước khác nhau. Trong mảng này, mỗi phần tử là một mảng 1 chiều. Ví dụ: int[][] a = new int[3][];// mảng 2 chiều và có 3 hàng a[0] = new int[4];// hàng thứ nh ất có 4 c ột a[1] = new int[3];// … a[2] = new int[1]; 14
- Mảng jagged static void Main() { string[][] novelists = new string[3][]; novelists[0] = new string[] {"Fyodor", "Mikhailovich", "Dostoyevsky"}; novelists[1] = new string[] { "James", "Augustine", "Aloysius", "Joyce"}; novelists[2] = new string[] {"Miguel", "de Cervantes", "Saavedra"}; // Loop through each novelist in the array int i; for (i = 0; i < novelists.GetLength(0); i++) { // Loop through each name for the novelist int j; for (j = 0; j < novelists[i].GetLength(0); j++) { // Display current part of name Console.Write(novelists[i][j] + " "); } // Start a new line for the next novelist Console.Write("\n"); } } 15
- 2. Kiểu dữ liệu xâu ký tự - Thao tác với chuỗi +Tạo một chuỗi. + Tạo chuỗi dùng phương thức ToString. + Thao tác trên chuỗi. + Tìm một chuỗi con. + Chia chuỗi. - Thao tác trên chuỗi dùng StringBuilder. - Sử dụng biểu thức chính quy để kiểm tra dữ liệu nhập. 16
- Thao tác với chuỗi - Tạo một chuỗi: gán cho chuỗi bằng giá trị được đặt trong cặp dấu “”. Ví dụ: string exstr= “Khoa công nghệ thông tin”; - Trong chuỗi có thể có các ký tự escape, ký tự này bắt đầu bằng dấu ‘\’. Ví dụ \n: xuống dòng, \t: tab. - Dấu \ được dùng trong một số cú pháp, vì vậy để xác đ ịnh \ là một ký tự trong xâu thì nó phải được đặt tr ước một dấu \ khác. - Ví dụ: + xâu “http:\\\\” có giá trị bằng http:\\. + Xâu “C:\\Program Files” có giá trị bằng C:\Program Files. - Ký tự @ được đặt trước giá trị xâu để xác định giá trị đó là nguyên văn. Ví dụ: “C:\\” có giá trị bằng với @”C:\” 17
- Tạo chuỗi - Các kiểu dữ liệu đều có phương thức ToString để chuyển từ kiểu dữ liệu đó sang kiểu string. - Ví dụ: int intnum =10; string str = intnum.ToString(); double dblnum =20.45; str = dblnum.ToString(“0.0”); 18
- Thao tác với chuỗi - Sử dụng các phương thức, thuộc tính của lớp System.String. Trường public static thể hiện một chuỗi Empty rỗng. Phương thức public static để so sánh hai Compare() chuỗi. Phương thức public static để so sánh hai CompareOrdinal() chuỗi không quan tâm đến thứ tự. Phương thức public static để tạo chuỗi mới Concat() từ một hay nhiều chuỗi. Phương thức public static tạo ra một chuỗi Copy() mới bằng Phương thức public static kiểm tra xem hai Equal() chuỗi có cùng giá trị hay không. 19
- Phương thức public static định dạng một chuỗi dùng ký tự Format() lệnh định dạng xác định. Indexer của chuỗi. Chars() Chiều dài của chuỗi. Length() Trả về chuỗi. Clone() So sánh hai chuỗi. CompareTo() Sao chép một số các ký tự xác định đến một mảng ký tự CopyTo() Unicode. Chỉ ra vị trí của chuỗi xác định phù hợp với chuỗi đưa ra. EndsWidth() Trả về chuỗi mới đã được chèn một chuỗi xác định. Insert() Chỉ ra vị trí xuất hiện cuối cùng của một chu ỗi xác LastIndexOf() định trong chuỗi. Canh lề phải những ký tự trong chuỗi, chèn vào bên trái PadLeft() khoảng trắng hay các ký tự xác định. Canh lề trái những ký tự trong chuỗi, chèn vào bên PadRight() phải khoảng trắng hay các ký tự xác định. Xóa đi một số ký tự xác định. Remove() Trả về chuỗi được phân định bởi những ký tự xác định Split() trong chuỗi. 20

ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:

Báo xấu

LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
