Giáo trình hướng dẫn phân tích ứng dụng phương thức gán đối tượng cho một giao diện đối lập trừu tượng p10 - Pdf 19

Ngôn Ngữ Lập Trình C#
Phương thức có thể xem mảng này như thể một mảng được tạo ra tường minh và được truyền
vào tham số. Sau đó chúng ta có thể tự do lặp lần lượt qua các thành phần trong mảng giống
như thực hiện với bất cứ mảng nguyên nào khác:
foreach (int i in intVals)
{
Console.WriteLine(“DisplayVals: {0}”, i);
}
Tuy nhiên, phương thức gọi không cần thiết phải tạo tường minh một mảng, nó chỉ đơn giản
truyền vào các số nguyên, và trình biên dịch sẽ kết hợp những tham số này vào trong một
mảng cho phương thức DisplayVals, ta có thể gọi phương thức như sau:
t.DisplayVals(5,6,7,8);
và chúng ta có thể tự do tạo một mảng để truyền vào phương thức nếu muốn:
int [] explicitArray = new int[5] {1,2,3,4,5};
t.DisplayArray(explicitArray);
Ví dụ 9.3 cung cấp tất cả mã nguồn để minh họa sử dụng cú pháp params.
 Ví dụ 9.3: minh họa sử dụng params.

namespace Programming_CSharp
{
using System;
public class Tester
{
static void Main()
{
Tester t = new Tester();
t.DisplayVals(5,6,7,8);
int[] explicitArray = new int[5] {1,2,3,4,5};
t.DisplayVals(explicitArray);
}
public void DisplayVals( params int[] intVals)

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
}
Do vậy, chúng ta có thể cải tiến ví dụ 9.1 trước bằng cách thay việc sử dụng vòng lặp for
bằng vòng lặp foreach để truy cập đến từng thành phần trong mảng.
 Ví dụ 9.2: Sử dụng foreach.

namespace Programming_CSharp
{
using System;
// tạo một lớp đơn giản để lưu trữ trong mảng
public class Employee
{
// bộ khởi tạo lấy một tham số
public Employee( int empID )
{
this.empID = empID;
}
Mảng, Chỉ Mục, và Tập Hợp
219
.
.
Ngôn Ngữ Lập Trình C#
public override string ToString()
{
return empID.ToString();
}
// biến thành viên private

Kết quả của ví dụ 9.2 cũng tương tự như ví dụ 9.1. Tuy nhiên, với việc sử dụng vòng lặp for
ta phải xác định kích thước của mảng, sử dụng biến đếm tạm thời để truy cập đến từng thành
phần trong mảng:
Mảng, Chỉ Mục, và Tập Hợp
220
.
.
Ngôn Ngữ Lập Trình C#
for (int i = 0 ; i < empArray.Length; i++)
{
Console.WriteLine(empArray[i].ToString());
}
Thay vào đó ta sử dụng foreach , khi đó vòng lặp sẽ tự động trích ra từng mục tuần tự trong
mảng và gán tạm vào một tham chiếu đối tượng khai báo ở đầu vòng lặp:
foreach ( Employee e in empArray)
{
Console.WriteLine(e.ToString()+”\t”);
}
Đối tượng được trích từ mảng có kiểu dữ liệu tương ứng. Do đó chúng ta có thể sử dụng bất
cứ thành viên public của đối tượng.
Mảng đa chiều
Từ đầu chương đến giờ chúng ta chỉ nói đến mảng các số nguyên hay mảng các đối tượng.
Tất cả các mảng này đều là mảng một chiều. Mảng một chiều trong đó các thành phần của nó
chỉ đơn giản là các đối tượng kiểu giá trị hay đối tượng tham chiếu. Mảng có thể được tổ chức
phức tạp hơn trong đó mỗi thành phần là một mảng khác, việc tổ chức này gọi là mả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.

{
// khai báo số dòng và số cột của mảng
const int rows = 4;
const int columns = 3;
// khai báo mảng 4x3 số nguyên
int [,] rectangularArray = new int[rows, columns];
// khởi tạo các thành phần trong mảng
for(int i = 0; i < rows; i++)
{
for(int j = 0; j < columns; j++)
{
rectangularArray[i,j] = i+j;
}
}
// xuất nội dung ra màn hình
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]);
}
}
}
}
}
Mảng, Chỉ Mục, và Tập Hợp
222
.
.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status