Danh mục

ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA PHẦN 3

Số trang: 31      Loại file: pdf      Dung lượng: 455.92 KB      Lượt xem: 18      Lượt tải: 0    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: 6,000 VND Tải xuống file đầy đủ (31 trang) 0

Báo xấu

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Array, Indexer, and CollectionGvhd: Nguyễn Tấn Trần Minh Khang9.1.3 Truy cập đến những phần tử trong mảngĐể truy cập đến những phần tử trong mảng, ta sử dụng toán tử lấy chỉ mục []. Cũng giống như C/C++, chỉ mục mảng được tính bắt đầu từ phần tử 0. Property Length của lớp Array cho biết được kích thước một mảng.
Nội dung trích xuất từ tài liệu:
ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA PHẦN 3Array, Indexer, and Collection Gvhd: Nguyễn Tấn Trần Minh Khang9.1.3 Truy cập đến những phần tử trong mảngĐể truy cập đến những phần tử trong mảng, ta sử dụng toán tử lấy chỉ mục []. Cũnggiống như C/C++, chỉ mục mảng được tính bắt đầu từ phần tử 0. Property Lengthcủa lớp Array cho biết được kích thước một mảng. Như vậy chỉ mục của mảng đi từ0 đến Length - 1. Trong mảng myArray ví dụ trên để lấy phần tử thứ 2 (có chỉ số là1) trong mảng, ta viết như sau: int phan_tu_thu_hai = myArray[1];9.2 Câu lệnh foreachforeach là một lệnh vòng lặp, dùng để duyệt tất cả các phần tử của một mảng, tậphợp (nói đúng hơn là những lớp có cài đặt giao diện IEnumerable). Cú pháp củaforeach nhẹ nhàng hơn vòng lặp for (ta có thể dùng for thay cho foreach) foreach (kiểu tên_biến in biến_mảng) { khối lệnh }Ví dụ 9-1 Sử dụng foreach using System; namespace Programming_CSharp { // một lớp đơn giản để chứa trong mảng public class Employee { public Employee(int empID) { this.empID = empID; } public override string ToString() { return empID.ToString(); } private int empID; private int size; } public class Tester { static void Main() { int[] intArray; Employee[] empArray; intArray = new int[5]; empArray = new Employee[3]; // populate the array for (int i = 0; i < empArray.Length; i++) empArray[i] = new Employee(i+10); foreach (int i in intArray) Console.WriteLine(i.ToString()); foreach (Employee e in empArray) Console.WriteLine(e.ToString()); 59Array, Indexer, and Collection Gvhd: Nguyễn Tấn Trần Minh Khang } } }9.2.1 Khởi tạo các phần tử mảngTa có thể khởi tạo các phần tử mảng vào thời điểm khai báo mảng, bằng cách tacung cấp một danh sách những giá trị của mảng được giới hạn trong hai dấu ngoặcnhọn { }. C# có thể cung cấp những cú phápngắn gọn như sau: int[] myIntArray = new int[5] { 2, 4, 6, 8, 10 } int[] myIntArray = { 2, 4, 6, 8, 10 }Hai cách trên cho cùng kết quả là một mảng 5 phần tử có giá trị là 2, 4, 6, 8, 10.9.2.2 Từ khóa paramsĐôi lúc có những phương thức ta không biết trước số lương tham số được truyềnvào như: phương thức Main() không thể biết trước số lượng tham số người dùng sẽtruyền vào. Ta có thể sử tham số là mảng. Tuy nhiên khi gọi hàm ta phải tạo mộtbiến mảng để làm tham số. C# cung cấp cú pháp để ta không cần truyền trực tiếpcác phần tử của mảng bằng cách thêm từ khóa paramsVí dụ 9-2 Sử dụng từ khóa params using System; namespace Programming_CSharp { public class Tester { static void Main( ) { Tester t = new Tester( ); /** * cách truyền tham số bằng các phần tử * không cần phải khởi tạo mảng * (cú pháp rất tự do) */ t.DisplayVals(5,6,7,8); /** * Cách truyền tham số bằng mảng * Mảng phải được tạo sẵn */ int [] explicitArray = new int[5] {1,2,3,4,5}; t.DisplayVals(explicitArray); } public void DisplayVals(params int[] intVals) { foreach (int i in intVals) { Console.WriteLine(DisplayVals {0},i); } } 60Array, Indexer, and Collection Gvhd: Nguyễn Tấn Trần Minh Khang } } Kết quả: DisplayVals 5 DisplayVals 6 DisplayVals 7 DisplayVals 8 DisplayVals 1 DisplayVals 2 DisplayVals 3 DisplayVals 4 DisplayVals 59.2.3 Mảng nhiều chiềuMa trận là một ví dụ về mảng hai chiều. C# cho phép khai báo mảng n chiều, tuynhiên thông dụng nhất vẫn là mảng một chiều (mảng) và mảng hai chiều. Ví dụtrong phần này là mảng hai chiều, tuy nhiên đối với n chiều cú pháp vẫn tương tự.9.2.3.1 Mảng chữ nhậtTrong mảng chữ nhật (Rectangular array) 2 chiều, chiều thứ nhất là số dòng vàchiều thứ hai là số cột. Số phần tử trong các dòng là như nhau và bằng số cột (tươngtự số phần tử trong các cột là như nhau và bằng số dòng) để khai báo ta sử dụng cúpháp sau: type [,] array-nameví dụ như: int [,] myRectangularArray;9.2.3.2 Mảng JaggedMảng jagged là loại mảng trong mảng. Loại mảng này thật sự thì chúng chỉ là mảngmột chiều nhưng những phần tử của chúng có khả năng quản lí được một mảngkhác nữa, mà kích thước các mảng này thay đổi tùy theo nhu cầu của lập trình viên.Ta có thể khai báo như sau: type [ ] [ ]...Ví dụ như khai báo một mảng hai chiề ...

Tài liệu được xem nhiều: