Bài giảng Lập trình NET và C#: Lecture 8 trình bày các nội dung sau: Khai báo mảng, 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,...
Trang 1Lậ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
Trang 2Các giải pháp lập trình C#, Nguyễn Ngọc Bình Phương - Thái Thanh Phong
Allen Jones C# Programmer's Cookbook Microsoft Press, 2004
John Connell Coding Techniques for Microsoft Visual Basic NET Microsoft Press, 2002.
Harvey M Deitel, Paul J Deitel, & Tem R Nieto Visual Basic NET How to
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.
Karl Moore The Ultimate VB.NET and ASP.NET Code Book Apress, 2003
Matthew MacDonald Microsoft Visual Basic NET Programmer's Cookbook Microsoft Press, 2003.
Mark Schmidt & Simon Robinson Microsoft Visual C# NET 2003 Developer's Cookbook Sams Publishing, 2003.
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.
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
www.msdn.microsoft.com, www.codeproject.com , www.msd2d.com,
Trang 3Khai 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
Trang 4Mả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 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
Điều này sẽ cung cấp cho mảng sử dụng các phương thức và những thuộc tính
Trang 5Khai 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:
<kiểu dữ liệu>[] <tên mảng>
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 phần được thiết lập giá trị mặc định là 0
Trang 6Khai báo mảng
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
Trang 7Truy cp các thành phn mng
đánh chỉ mục từ 0 đến Length –1
thành phần đầu tiên là myArray[0]
Trang 8Khi to thành phn ca mng
int[] myIntArray = new int[5] { 2, 4, 6, 8, 10};
int[] myIntArray = { 2, 4, 6, 8, 10};
Trang 9Câ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 (<kiểu dữ liệu thành phần> <tên truy
cập> in <mảng/tập hợp> )
{
// thực hiện thông qua <tên truy cập> tương ứng với // từng mục trong mảng hay tập hợp
}
Trang 10S dng t 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);
}
}
Trang 11Mảng đa chiều
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
Mảng ba chiều cũng có thể được tạo ra
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
Trang 12Mảng đa chiều
<kiểu dữ liệu> [,] <tên mảng>
const int rows = 4;
const int columns = 3;
int [,] rectangularArray = new int[rows,
columns];
Trang 13Mảng đa chiều
for( int i = 0; i < rows; i++)
{
for(int j = 0; j < columns; j++)
{
Console.WriteLine(“rectangularArray[{0},{1}] = {2}”,
i, j, rectangularArray[i,j]);
}
}
Trang 14Mảng đa chiều
Mảng đa chiều cùng kích thước
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
Mảng ba chiều cũng có thể được tạo ra
nhưng thường ít sử dụng
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)
Trang 15Mảng đa chiều
Mảng đa chiều kích thước khác
nhau
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
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
Trang 16Question