Biến mảng trong c#

Trong C#, biến mảng là một loại biến có thể lưu trữ nhiều giá trị cùng một lúc

  1. Cách khai báo biến mảng
  2. Truy cập phần tử trong mảng
  3. Thay đổi giá trị của phần tử trong mảng
  4. Cách xác định số phần tử trong biến mảng c#
  5. Cách duyệt toàn bộ các phần tử mảng trong biến c#
  6. Mảng đa chiều
  7. Mảng Jagged (Mảng không đều)
  8. Các phương thức hữu ích cho mảng
  9. Cái hay của mảng trong C#

Mảng trong C# có thể chứa các kiểu dữ liệu như số nguyên, số thực, chuỗi, đối tượng, v.v. Các phần tử trong mảng có thể được truy cập thông qua chỉ số, với chỉ số bắt đầu từ 0 (không).

Trước khi vào nghiên cứu mảng, bạn nên đặt những câu hỏi để nâng cao tính tư duy.

- Biến mảng là gì ?
- Tại sao dùng biến mảng ?
- Khi lập trình phần mềm không dùng biến mảng được hay không ?

 

1. Cách khai báo biến mảng

Để khai báo một mảng trong C#, bạn có thể làm như sau:

Khai báo mảng và khởi tạo nó với một kích thước cụ thể:

int[] arr = new int[5];  // Mảng có 5 phần tử kiểu int
Khai báo mảng và khởi tạo giá trị ngay lập tức:
    int[] arr = { 1, 2, 3, 4, 5 };  // Mảng có các giá trị 1, 2, 3, 4, 5string[] monhoc ;
string[] monhoc = new string[4];
int[] so= new int[4];

string[] monhoc = {"C++", "C#", "JAVA", "VB.NET"};
chỉ cần thêm [] vào sau kiểu biến là ra biến mảng.
int[] so = {10, 20, 30, 40};

 * Nếu khai báo ở cách 1 thì đưa vào có gặp vấn đề gì không ?

 string[] monhoc ;
monhoc = {"C++", "C#", "JAVA", "VB.NET"};

2. Truy cập phần tử trong mảng

Để truy cập phần tử trong mảng, bạn sử dụng chỉ số (index) của phần tử đó:
int firstElement = arr[0];  // Truy cập phần tử đầu tiên (chỉ số 0) 

Ví dụ về mảng đơn giản nhất:

Giả sử bạn có một mảng một chiều như sau:
int[] arr = { 10, 20, 30, 40, 50 };
Để truy cập phần tử tại vị trí nhất định, bạn sử dụng cú pháp arr[index], trong đó index là chỉ số của phần tử bạn muốn truy cập.
Truy cập phần tử đầu tiên (chỉ số 0):
Console.WriteLine(arr[0]);  // Kết quả: 10
Truy cập phần tử thứ hai (chỉ số 1):
Console.WriteLine(arr[1]);  // Kết quả: 20
Truy cập phần tử cuối cùng (chỉ số 4):
Console.WriteLine(arr[4]);  // Kết quả: 50

3. Thay đổi giá trị của phần tử trong mảng

Bạn có thể thay đổi giá trị của phần tử trong mảng thông qua chỉ số:

arr[2] = 10;  // Thay đổi giá trị của phần tử thứ 3 (chỉ số 2) thành 10

Ví dụ 1: chạy thế nào ?

string[] monhoc = { "C++", "C#", "JAVA", "VB.NET" };
            monhoc[5] = "PHP";
   Bạn hãy copy code và chạy để trải nghiệm ví dụ mảng trên.

Ví dụ 2:

string[] monhoc1 = {"C++", "C#", "JAVA", "VB.NET"};
string[] monhoc2 =  new string[4] {"C++", "C#", "JAVA", "VB.NET"};
* So sách 2 cách khai báo mảng trên 

Ví dụ 3:

string[] monhoc = new string[4];
           // cách 1 nạp giá trị vào mảng
            monhoc[0] = "a";
            monhoc[1] = "b";
            monhoc[2] = "c";
            monhoc[3] = "d";
           // cách 2 nạp giá trị vào mảng
            monhoc.SetValue("a", 0);
            monhoc.SetValue("b", 1);
            monhoc.SetValue("c", 2);
            monhoc.SetValue("d", 3);

4.  Cách xác định số phần tử trong biến mảng c#

   string[] monhoc = {"C++", "C#", "JAVA", "VB.NET"};   
   int sophantu = monhoc .Length;
        Console.WriteLine(sophantu.ToString() );    

5. Cách duyệt toàn bộ các phần tử mảng trong biến c#

 string[] monhoc = {"C++", "C#", "JAVA", "VB.NET"};   
   int sophantu = monhoc .Length;
            for(int i=0;i<sophantu;i++)
            {
                Console.WriteLine(monhoc[i]);
            }
            foreach (var item in monhoc)
            {
                Console.WriteLine(item);
             
            }

Để lặp qua tất cả các phần tử trong mảng, bạn có thể sử dụng vòng lặp for hoặc foreach:

// Sử dụng vòng lặp for
for (int i = 0; i < arr.Length; i++)
{
    Console.WriteLine(arr[i]);
}

// Sử dụng vòng lặp foreach
foreach (int element in arr)
{
    Console.WriteLine(element);
}

6. Mảng đa chiều

 Mảng 2 chiều trong C#

          int[,] GiaTriMang=
                    {
                        {1, 2,4},
                        {3, 4,5},
                        {5, 6,2}
                    }; 

       // Lấy giá trị mảng ra
            Console.WriteLine(GiaTriMang[0, 1]);  
             Console.WriteLine(GiaTriMang[0, 2]);   

C# hỗ trợ mảng đa chiều, ví dụ như mảng 2 chiều (ma trận):

int[,] matrix = new int[3, 3];  // Mảng 2 chiều 3x3

// Khởi tạo mảng 2 chiều
int[,] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };

// Truy cập phần tử trong mảng 2 chiều
Console.WriteLine(matrix[0, 0]);  // In ra 1

7. Mảng Jagged (Mảng không đều)

Mảng jagged là mảng có các phần tử là các mảng, và các mảng con có thể có kích thước khác nhau.

int[][] jaggedArray = new int[3][];  // Mảng jagged với 3 phần tử

// Khởi tạo các mảng con
jaggedArray[0] = new int[] { 1, 2, 3 };
jaggedArray[1] = new int[] { 4, 5 };
jaggedArray[2] = new int[] { 6, 7, 8, 9 };

// Truy cập phần tử
Console.WriteLine(jaggedArray[1][1]);  // In ra 5

8. Các phương thức hữu ích cho mảng

    Array.Length: Trả về số lượng phần tử trong mảng.

int length = arr.Length;

Array.Sort: Sắp xếp mảng.

Array.Sort(arr);  // Sắp xếp mảng arr theo thứ tự tăng dần

Array.Reverse: Đảo ngược mảng.

    Array.Reverse(arr);  // Đảo ngược mảng arr
 

9. Cái hay của mảng trong C#

            string[] monhoc1 = { "C++", "C#", "JAVA", "VB.NET" };
            string[] monhoc2 = { "jquery", "html" };
            object[] obj = new object[2] { monhoc1, monhoc2 };
            string[] arr_1 =(string[])obj[0];
            string[] arr_2 =(string[])obj[1];
            foreach (var gt in arr_1)
            {
                Console.WriteLine(gt);
            }

Nếu bạn hiểu bài này nó là con đường giúp học lập trình hướng đối tượng nhanh sau này. 

  Tóm lại

Mảng trong C# là một công cụ mạnh mẽ để làm việc với các tập hợp dữ liệu có cùng kiểu. Bạn có thể dễ dàng khai báo, truy cập, thay đổi giá trị của phần tử trong mảng, và thao tác với mảng đa chiều hoặc mảng jagged tùy theo nhu cầu của mình.

Tìm kiếm:

Trong C#, biến mảng là một loại biến có thể lưu trữ nhiều giá trị cùng một lúc