Lập trình .NET và C#

Lecture 8: MẢNG, CHỈ MỤC, VÀ TẬP HỢP TS Đào Nam Anh UTM, Khoa KH&CN

1

Resources

(cid:1) Các giải pháp lập trình C#, Nguyễn Ngọc Bình Phương - Thái Thanh Phong (cid:1) Allen Jones. C# Programmer's Cookbook. Microsoft Press, 2004 (cid:1)

John Connell. Coding Techniques for Microsoft Visual Basic .NET. Microsoft Press, 2002.

(cid:1) Harvey M. Deitel, Paul J. Deitel, & Tem R. Nieto. Visual Basic .NET How to

(cid:1)

(cid:1)

Program, Second Edition. Prentice Hall, 2002. Jose Mojica. C# and VB .NET Conversion Pocket Reference. O'Reilly, 2002. James Avery. Ten Must-Have Tools Every Developer Should Download Now. MSDN Magazine, 2004.

(cid:1) Karl Moore. The Ultimate VB.NET and ASP.NET Code Book. Apress, 2003 (cid:1) Matthew MacDonald. Microsoft Visual Basic .NET Programmer's Cookbook.

Microsoft Press, 2003.

(cid:1) Mark Schmidt & Simon Robinson. Microsoft Visual C# .NET 2003 Developer's

Cookbook. Sams Publishing, 2003.

(cid:1) Dương Quang Thiện. Lập trình Visual C# thế nào? Nhà xuất bản Tổng Hợp TP.

Hồ Chí Minh, 2005.

(cid:1) Nguyễn Ngọc Bình Phương & Lê Trần Nhật Quỳnh. Các giải pháp lập trình

Visual Basic .NET. Nhà xuất bản Giao thông Vận tải, 2006

(cid:1) www.msdn.microsoft.com, www.codeproject.com, www.msd2d.com,

www.developersdex.com, www.windowsforms.net, www.gotdotnet.com, www.codeguru.com, www.developerfusion.com

2

Mảng

Khai báo mảng Giá trị mặc định Truy cập các thành phần trong mảng Khởi tạo thành phần trong mảng Sử dụng từ khóa params

Câu lệnh lặp foreach Mảng đa chiều

Mảng đa chiều cùng kích thước Mảng đa chiều kích thước khác nhau Chuyển đổi mảng System.Array

Bộ chỉ mục

Bộ chỉ mục và phép gán Sử dụng kiểu chỉ số khác

Giao diện tập hợp

3

Mảng

(cid:1) 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.

(cid:1) Mảng trong ngôn ngữ C# có một vài sự khác biệt so với mảng trong ngôn ngữ C++ và một số ngôn ngữ khác, bởi vì chúng là những đối tượng.

(cid:1) Điều này sẽ cung cấp cho mảng sử dụng các

4

phương thức và những thuộc tính.

Mảng Khai báo mảng

Chúng ta có thể khai báo một mảng trong C#

với cú pháp theo sau:

[] Ví dụ ta có khai báo như sau: int[] myIntArray; cách sử dụng từ khóa new như sau: myIntArray = new int[6]; sẽ tạo ra một mảng 6 số nguyên, và mỗi thành

5

phần được thiết lập giá trị mặc định là 0

Mảng Khai báo mảng

6

Button[] myButtonArray; và chúng ta tạo thể hiện của mảng như sau: myButtonArray = new Button[3]; viết ngắn gọn như sau: Button muButtonArray = new Button[3]; tạo ra một mảng myButtonArray với ba tham chiếu null. Để sử dụng mảng này, đầu tiên chúng ta phải tạo và gán đối tượng Button cho từng thành phần tham chiếu trong mảng.

Mảng Truy c(cid:7)p các thành ph(cid:14)n m(cid:16)ng

7

đánh chỉ mục từ 0 đến Length –1. thành phần đầu tiên là myArray[0].

Mảng Kh(cid:19)i t(cid:21)o thành ph(cid:14)n c(cid:23)a m(cid:16)ng

8

int[] myIntArray = new int[5] { 2, 4, 6, 8, 10}; int[] myIntArray = { 2, 4, 6, 8, 10};

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 mục trong một mảng hay trong một tập hợp.

foreach (

cập> 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

{

9

}

Mảng S(cid:26) d(cid:28)ng t(cid:29) khóa params

static void Main() {

DisplayVals(5,6,7,8); int[] explicitArray = new int[5] {1,2,3,4,5}; DisplayVals(explicitArray);

} public void DisplayVals( params int[] intVals) {

foreach (int i in intVals) {

Console.WriteLine(“DisplayVals {0}”, i);

}

}

10

Mảng đa chiều

(cid:1) Mảng hai chiều được tổ chức thành các dòng và cột, trong đó các dòng là được tính theo hàng ngang của mảng, và các cột được tính theo hàng dọc của mảng.

(cid:1) Mảng ba chiều cũng có thể được tạo ra

11

nhưng thường ít sử dụng do khó hình dung. Trong mảng ba chiều những dòng bây giờ là các mảng hai chiều.

Mảng đa chiều

[,]

const int rows = 4; const int columns = 3; int [,] rectangularArray = new int[rows,

12

columns];

Mảng đa chiều

for(int j = 0; j < columns; j++) {

Console.WriteLine(“rectangularArray[{0},{1}] = {2}”, i, j, rectangularArray[i,j]);

}

for( int i = 0; i < rows; i++) {

13

}

Mảng đa chiều Mảng đa chiều cùng kích thước

(cid:1) Mảng hai chiều được tổ chức thành các dòng và cột, trong đó các dòng là được tính theo hàng ngang của mảng, và các cột được tính theo hàng dọc của mảng.

(cid:1) Mảng ba chiều cũng có thể được tạo ra

(cid:1) Mảng đa chiều cùng kích thước còn gọi là mảng hình chữ nhật (rectanguler array).

14

nhưng thường ít sử dụng

Mảng đa chiều Mảng đa chiều kích thước khác nhau

(cid:1) kích thước của các chiều có thể không bằng nhau, điều này khác với mảng đa chiều cùng kích thước.

(cid:1) Nếu hình dạng của mảng đa chiều cùng kích thước có dạng hình chữ nhật thì hình dạng của mảng này không phải hình chữ nhật vì các chiều của chúng không điều nhau.

15

Question

16