Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bài 21: Mảng 1 chiều trong C# - Coggle Diagram
Bài 21: Mảng 1 chiều trong C#
Khái niệm về mảng
Mảng là
Tập hợp các đối tượng có cùng kiểu dữ liệu
|Mỗi đối tượng trong mảng được gọi là một phần tử
Các phần tử phân biệt với nhau thông qua chỉ số. Bắt đầu từ 0
Đặc điểm của mảng
Các phần tử trong mảng dùng chung một tên và được truy xuất thông qua chỉ số phần tử
Một mảng cần có giới hạn số phần tử mà mảng có thể chứa
Phải cấp phát vùng nhớ mới có thể sử dụng mảng
Vị trí ô nhớ của các phần tử trong mảng được cấp phát liền kề nhau
Tại sao phải sử dụng mảng
Gom nhóm các đối tượng có chung tính chất lại với nhau giúp cho code gọn gàng hơn
dễ thao tác, dễ quản lý, nâng cấp và sửa chữa
Dễ dàng áp dụng cấu trúc lặp vào để xử lý dữ liệu
Khai báo, khởi tạo và sử dụng mảng 1 chiều
Khai báo mảng 1 chiều
Cú pháp: <kiểu dữ liệu>[]<tên mảng>;
Để sử dụng được mảng, phải khởi tạo giá trị hoặc cấp phát vùng nhớ cho mảng. cấp phát vùng nhớ
Thông qua toán tử new
Khi cấp phát vùng nhớ cho mảng 1 chiều, cần chỉ ra số phần tử tối đa của mảng
ví dụ cấp phát vùng nhớ cho mảng: string[] kteam = new string[3]
sau khi mảng được cấp phát vùng nhớ sẽ mang giá trị mặc định:
đối với số nguyên là 0
Đối với số thực là 0.0
Đối với kiểu ký tự là ''(ký tự rỗng)
Đối với kiểu tham chiều là null
Có thể khởi tạo giá trị khác mà ta mong muốn ngay khi cấp phát vùng nhớ bằng cú pháp:
<Kiểu dữ liệu>[] <tên mảng> = new <kiểu dữ liệu>[]{<giá trị 1>,...<giá trị n>};
Không cần cung cấp số phần tử tối đa, mà trình biên dịch sẽ tự động đếm
Khởi tạo giá trị
cú pháp: <kiểu dữ liệu>[]<tên mảng> = {<giá trị 1>,...<giá trị n>};
int[] IntArray = {1,2,3,4,5}
Sử dụng mảng
Một số phương thức và thuộc tính
Thuộc tính
Length
trả về số nguyên kiểu int là số phần tử tối đa của mảng
LongLength
Phương thức
GetLength(<số chiều>): trả về số phần tử trong chiều đã xác định
Sort(): sắp xếp mảng theo một thứ tự
Clear(): xóa hết dữ liệu trong mảng và đưa về giá trị mặc định của kiểu=> Chỉ xóa dữ liệu còn vùng nhớ vẫn còn và tiếp tục sử dụng mà không cần cấp phát
Copy(): copy giá trị của mảng ra một vùng nhớ mới(phép gán thông thường thì 2 đối tượng sẽ dùng chung vùng nhớ rất nguy hiểm vì đối tượng này thay đổi dẫn đến đối tượng kia cũng thay đổi)
Reverse(): Phương thức thực hiện đảo ngược thứ tự của mảng 1 chiều
Duyệt mảng
ý tưởng: thông qua chỉ số phần tử của mảng