RSS

Mảng trong C#

22 Dec

1. Giới thiệu về mảng trong C#

– Trong chương trình đôi khi chúng ta cần thực hiện lưu trữ một loạt các thông tin có cùng kiểu dữ liệu để làm điều này thường chúng ta sẽ phải khai báo rất nhiều biến tương ứng với mỗi một thông tin như vậy. Việc quản lý số lượng lớn các biến gây ra rất nhiều khó khăn. Để giải quyết các khó khăn này thì C# cũng như các ngôn ngữ lập trình khác cung cấp một kiểu cấu trúc dữ liệu cho phép quản lý các biến có cùng tên, cùng kiểu dữ liệu. Đó là mảng.

– Mảng là một tập hợp hữu hạn các phần tử có cùng kiểu dữ liệu. Có thể coi mảng là một cách quản lý danh sách các biến có cùng kiểu dữ liệu.

– Để khai báo mảng trong C# chúng ta sử dụng cú pháp:

[Kiểu dữ liệu] [ ] … [ ] [tên mảng];

Trong đó:

  • [Kiểu dữ liệu]: là bất kì một kiểu dữ liệu nào được hỗ trợ trong C#.
  • [Tên mảng]: là một định danh để phân biệt các mảng với các biến, các đối tượng khác.

Số lượng các cặp dấu [ ] : chỉ ra chiều của mảng.

  • Nếu có 1 dấu [ ] thì mảng là mảng 1 chiều [].
  • Nếu có 2 dấu [ ] thì mảng là mảng 2 chiều [][].
  • Nếu có 3 dấu [ ] thì mảng là mảng 3 chiều [][][].
  • ……………….
  • Nếu có n dấu [ ] thì mảng là mảng n chiều. [][]….[].

Ví dụ: Khai báo mảng 1 chiều lưu trữ phần tử nguyên có tên là x. int[] x;

– Khởi tạo mảng: là quá trình khai báo số lượng các phần tử của mảng và gán giá trị cho các phần tử đó. Để khởi tạo mảng trong C# chúng ta có các cách như sau:

Khai báo và chỉ ra số phần tử của mảng.

[Kiểu dữ liệu] [ ] [tên mảng] = new [Kiểu dữ liệu] [số lượng phần tử];
Ví dụ: khai báo một mảng số nguyên lưu trữ 20 phần tử.
int[] x = new int[20];

Khai báo sau đó mới khởi tạo số phần tử của mảng.

[Kiểu dữ liệu] [ ] [tên mảng];
[tên mảng] = new [kiểu dữ liệu] [số phần tử];

Ví dụ: khai báo một mảng số nguyên lưu trữ 20 phần tử.
int[] x;
x = new int[20];

Khai báo, chỉ ra số lượng các phần tử mảng và gán các giá trị ban đầu cho các phần tử mảng.

int[] x = new int[5] { 5, -7, 8, 1, 9 };

Khai báo, ko chỉ ra số lượng các phần tử mảng và gán giá trị cho các phần tử của mảng.

– Truy cập các phần tử mảng: một mảng là một danh sách các phần tử có cùng kiểu dữ liệu, các phần tử đó được đánh số thứ tự bắt đầu từ 0 đến n-1 (Trong đó n là số phần tử của mảng).

– Như vậy để truy cập đến 1 phần tử của mảng thì chúng ta sử dụng một số nguyên để chỉ ra số thứ tự của phần tử đó trong mảng, phần tử nguyên này được gọi là chỉ số (index).

– Cú pháp tổng quát để truy cập đến phần tử thứ i của mảng là: [tên mảng] [i-1];

Ví dụ : gán giá trị -9 cho phần tử thứ 3 của mảng : x[2] = -9;

– Duyệt qua các phần tử mảng. Kể từ khi mảng là một tập hợp các hữu hạn phần tử do đó để duyệt qua các phần tử mảng thường chúng ta sử dụng vòng lặp for.

Ví dụ: in danh sách các phần tử mảng x ở trên.
Console.WriteLine("Danh sach cac phan tu trong mang:");
for (int i = 0; i < 5; i++)
Console.Write(x[i] + "\t");

2. Các kiểu mảng trong C#

Có 3 kiểu mảng trong C#:

– Mảng 1 chiều (single-dimension array): mảng 1 chiều là một mảng các phần tử. Mảng 1 chiều được khai báo chỉ bao gồm 1 cặp dấu [ ].

– Mảng nhiều chiều (multi-dimension array): mảng nhiều chiều là mảng có số chiều từ 2 trở lên (có từ 2 cặp [ ] trở lên).

– Mảng nhọn (jagged array): mảng nhọn là một mảng của các mảng, trong đó kích thước của mỗi một mảng có thể khác nhau. Mảng nhọn cho phép chúng ta sử dụng bộ nhớ một cách tiết kiệm hơn.

 

Nguồn: vi-infotech.com

 
2 phản hồi

Posted by on 12/22/2012 in .NET, C# Căn Bản, PCS, SEM 2

 

2 responses to “Mảng trong C#

  1. Thanh Tuấn

    03/26/2013 at 12:48 sáng

    anh có thể cho em biết cách dùng mảng 2 chiều trong c# windows form ko ạ

     
    • minhcanhdn0704

      04/01/2013 at 7:45 sáng

      Đối với mảng 2 chiều cũng không khác nhiều so với mảng một chiều, em có thể hình dung nó giống như một bảng trong Excel gồm các dòng và các cột, để sử dụng nó thì em gọi theo địa chỉ của nó. VD: Với Excell thì ô đầu tiên là A1, còn với mảng 2 chiều là 00

       

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

 
%d bloggers like this: