C # - Mảng

Một mảng lưu trữ một tập hợp tuần tự có kích thước cố định của các phần tử cùng kiểu. Mảng được sử dụng để lưu trữ một tập hợp dữ liệu, nhưng thường hữu ích hơn nếu coi mảng như một tập hợp các biến cùng kiểu được lưu trữ tại các vị trí bộ nhớ liền kề.

Thay vì khai báo các biến riêng lẻ, chẳng hạn như number0, number1, ... và number99, bạn khai báo một biến mảng chẳng hạn như số và sử dụng số [0], số [1] và ..., số [99] để biểu diễn các biến riêng lẻ. Một phần tử cụ thể trong một mảng được truy cập bởi một chỉ mục.

Tất cả các mảng bao gồm các vị trí bộ nhớ liền kề. Địa chỉ thấp nhất tương ứng với phần tử đầu tiên và địa chỉ cao nhất cho phần tử cuối cùng.

Khai báo Mảng

Để khai báo một mảng trong C #, bạn có thể sử dụng cú pháp sau:

datatype[] arrayName;

Ở đâu,

  • datatype được sử dụng để chỉ định loại phần tử trong mảng.

  • [] xác định thứ hạng của mảng. Xếp hạng xác định kích thước của mảng.

  • arrayName chỉ định tên của mảng.

Ví dụ,

double[] balance;

Khởi tạo một mảng

Khai báo mảng không khởi tạo mảng trong bộ nhớ. Khi biến mảng được khởi tạo, bạn có thể gán giá trị cho mảng.

Mảng là một kiểu tham chiếu, vì vậy bạn cần sử dụng newtừ khóa để tạo một thể hiện của mảng. Ví dụ,

double[] balance = new double[10];

Gán giá trị cho một mảng

Bạn có thể gán giá trị cho các phần tử mảng riêng lẻ, bằng cách sử dụng số chỉ mục, như -

double[] balance = new double[10];
balance[0] = 4500.0;

Bạn có thể gán giá trị cho mảng tại thời điểm khai báo, như minh họa:

double[] balance = { 2340.0, 4523.69, 3421.0};

Bạn cũng có thể tạo và khởi tạo một mảng, như minh họa:

int [] marks = new int[5]  { 99,  98, 92, 97, 95};

Bạn cũng có thể bỏ qua kích thước của mảng, như được minh họa:

int [] marks = new int[]  { 99,  98, 92, 97, 95};

Bạn có thể sao chép một biến mảng vào một biến mảng đích khác. Trong trường hợp đó, cả đích và nguồn đều trỏ đến cùng một vị trí bộ nhớ -

int [] marks = new int[]  { 99,  98, 92, 97, 95};
int[] score = marks;

Khi bạn tạo một mảng, trình biên dịch C # khởi tạo ngầm định mỗi phần tử mảng thành một giá trị mặc định tùy thuộc vào kiểu mảng. Ví dụ, đối với một mảng int, tất cả các phần tử được khởi tạo bằng 0.

Truy cập các phần tử mảng

Một phần tử được truy cập bằng cách lập chỉ mục tên mảng. Điều này được thực hiện bằng cách đặt chỉ mục của phần tử trong dấu ngoặc vuông sau tên của mảng. Ví dụ,

double salary = balance[9];

Ví dụ sau đây, minh họa cho việc khai báo, gán và truy cập mảng các khái niệm được đề cập ở trên -

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         int []  n = new int[10]; /* n is an array of 10 integers */
         int i,j;

         /* initialize elements of array n */
         for ( i = 0; i < 10; i++ ) {
            n[ i ] = i + 100;
         }
         
         /* output each array element's value */
         for (j = 0; j < 10; j++ ) {
            Console.WriteLine("Element[{0}] = {1}", j, n[j]);
         }
         Console.ReadKey();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Sử dụng vòng lặp foreach

Trong ví dụ trước, chúng ta đã sử dụng vòng lặp for để truy cập từng phần tử mảng. Bạn cũng có thể sử dụngforeach câu lệnh lặp qua một mảng.

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         int []  n = new int[10]; /* n is an array of 10 integers */
         
         /* initialize elements of array n */
         for ( int i = 0; i < 10; i++ ) {
            n[i] = i + 100;
         }
         
         /* output each array element's value */
         foreach (int j in n ) {
            int i = j-100;
            Console.WriteLine("Element[{0}] = {1}", i, j);
         }
         Console.ReadKey();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Mảng C #

Có một vài khái niệm quan trọng sau đây liên quan đến mảng mà một lập trình viên C # phải rõ ràng:

Sr.No. Khái niệm & Mô tả
1 Mảng đa chiều

C # hỗ trợ mảng nhiều chiều. Dạng đơn giản nhất của mảng nhiều chiều là mảng hai chiều.

2 Mảng răng cưa

C # hỗ trợ mảng nhiều chiều, là mảng của mảng.

3 Truyền mảng cho các hàm

Bạn có thể chuyển cho hàm một con trỏ tới một mảng bằng cách chỉ định tên của mảng mà không có chỉ mục.

4 Mảng tham số

Điều này được sử dụng để truyền số lượng tham số chưa biết cho một hàm.

5 Lớp mảng

Được định nghĩa trong không gian tên Hệ thống, nó là lớp cơ sở cho tất cả các mảng và cung cấp các thuộc tính và phương thức khác nhau để làm việc với mảng.