dating

Tìm hiểu về mảng trong c#


Mảng (array) trong c# là tập hợp các phần tử cùng kiểu được sắp xếp liền kề nhau trong bộ nhớ. 

Từ hình trên ta có thể hình dung rõ hơn về mảng trong c#. Nó là tập các phần tử liền kề nhau trong bộ nhớ và được đánh theo chỉ số (index) từ 0 đến số phần tử mảng – 1.

Muốn truy xuất đến phần tử nào đó chỉ cần gọi tên hàm và truyền vào index. Ví dụ array[0] truy xuất đến phần tử đầu tiên, array[1] truy xuất đến phần tử thứ 2…

Để tạo mảng một chiều, chúng ta chỉ cần sử dụng dấu ngoặc vuông [] sau kiểu dữ liệu


Ví dụ


int[] arr = new int[10];

Chúng ta hãy xem một ví dụ đơn giản về mảng trong C#, ở đây chúng ta sẽ khai báo, khởi tạo giá trị và duyệt qua từng phần tử của mảng.


Ví dụ


using System;

namespace ConsoleApp2
{
	class Program
	{
		static void Main(string[] args)
		{
			int[] arr = new int[5]; //tạo mảng
			arr[0] = 5;  // khỏi tạo giá trị cho phần tử thứ nhất
			arr[2] = 10;
			arr[4] = 3;

			// Duyệt qua từng phần tử mảng
			for (int i = 0; i < arr.Length; i++)
			{
				Console.WriteLine("Gia tri phan tu thu " + (i + 1) + " = " + arr[i]);
			}
			Console.ReadKey();
		}
	}
}

Và kết quả sau khi thực thi đoạn code trên:

csharp array ex1 PNG

Khai báo và khởi tạo cùng một lúc

Có 3 cách để khởi tạo mảng cùng lúc với khai báo


int[] arr = new int[5]{ 2, 3, 1, 4, 3};

Chúng ta có thể bỏ qua kích thước của mảng.


int[] arr = new int[]{ 2, 3, 1, 4, 3};

Chúng ta cũng có thể bỏ qua toán tử new.


int[] arr = { 2, 3, 1, 4, 3};

Mảng đa chiều (Multidimensional Array)

Mảng đa chiều còn được gọi là mảng hình chữ nhật trong C#. Nó có thể là hai chiều hoặc ba chiều. Dữ liệu được lưu trữ dưới dạng bảng (cột * hàng) còn được gọi là ma trận.

See also  Clothing Swap Party Plan + Punch Recipe

Để tạo mảng đa chiều, chúng ta cần sử dụng dấu phẩy bên trong dấu ngoặc vuông. Ví dụ:


int[,] arr=new int[2,2];//Khai bao mang 2 chieu
int[,,] arr=new int[2,2,2];//Khai bao mang 3 chieu 


Ví dụ


using System;

namespace ConsoleApp2
{
	class Program
	{
		static void Main(string[] args)
		{
			int[,] arr = new int[3, 3];//khai bao mang 2 chieu  
			arr[0, 1] = 2;//khoi tao gia tri 
			arr[1, 2] = 3;
			arr[2, 0] = 4;

			//Duyet qua tung phan tu mang
			for (int i = 0; i < 3; i++)
			{
				for (int j = 0; j < 3; j++)
				{
					Console.Write(arr[i, j] + " ");
				}
				Console.WriteLine(); 
			}
			Console.ReadKey();
		}
	}
}

Và kết quả sau khi thực thi đoạn code trên:

csharp array ex2 PNG

Khai báo và khởi tạo cùng một lúc

Có 3 cách để khởi tạo mảng đa chiều cùng lúc với khai báo


int[,] arr = new int[3,3]= { { 1, 1, 1 }, { 2, 2, 2 }, { 3, 3, 3 } };

Chúng ta có thể bỏ qua kích thước mảng


int[,] arr = new int[,]= { { 1, 1, 1 }, { 2, 2, 2 }, { 3, 3, 3 } };

Chúng ta cũng có thể bỏ qua toán tử new


int[,] arr = { { 1, 1, 1 }, { 2, 2, 2 }, {3, 3, 3 } };  

Mảng của mảng (Jagged Array)

Trong C#, Jagged Array còn được gọi là “mảng mảng” vì các phần tử của nó là mảng. Kích thước phần tử của Jagged Array có thể khác nhau.

Khai báo jagged array

Chúng ta hãy xem một ví dụ để khai báo Jagged Array có hai phần tử


int[][] arr = new int[2][];  

Khởi tạo giá trị jagged array

Chúng ta sẽ khởi tạo giá trị các phần tử của mảng trên như sau:

Cách 1: 


arr[0] = new int[3];  
arr[1] = new int[4]; 

Cách 2:


arr[0] = new int[3] { 2, 3, 5 };         
arr[1] = new int[4] {23, 5, 7, 9 };  

Cách 3:


arr[0] = new int[] { 2, 3, 5 };         
arr[1] = new int[] { 23, 5, 7, 9 };  

Khởi tạo giá trị cho phần tử trong lúc khai báo


int[][] arr = new int[3][]{  
        new int[] { 3, 4, 6, 8, 10},  
        new int[] { 2, 4, 9, 7, 10, 5, 11 },  
        new int[] { 2 }  
        }; 


Ví dụ

See also  How to Host a Raw, Vegan Thanksgiving for Friends


using System;

namespace ConsoleApp3
{
	class Program
	{
		static void Main(string[] args)
		{
			int[][] arr = new int[2][];// Khai bao mang  

			arr[0] = new int[] { 3, 4, 5, 1, 4 };// khoi tao gia tri cho mang         
			arr[1] = new int[] { 1, 2, 3, 5, 7, 9 };

			for (int i = 0; i < arr.Length; i++)
			{
				Console.WriteLine("Gia tri phan tu thu " + (i + 1));
				for (int j = 0; j < arr[i].Length; j++)
				{
					System.Console.Write(arr[i][j] + " ");
				}
				System.Console.WriteLine();
			}
			Console.ReadKey();
		}
	}
}

Và kết quả sau khi thực thi đoạn code trên:

csharp array ex3 PNG

4. Lời kết

Như vậy là chúng ta đã tìm hiểu xong về mảng trong c#. Trong c# có 3 loại mảng đó là mảng một chiều (Single Dimensional Array), mảng đa chiều (Multidimensional Array), mảng của mảng (Jagged Array). Trong đó mảng đa chiều (Multidimensional Array) và mảng của mảng (Jagged Array) ít khi sử dụng vì vậy chúng ta chỉ cần nắm rõ cấu trúc, cách khai báo và khởi tạo của mảng một chiều (Single Dimensional Array) là đủ rồi nhé. яндекс

Cám ơn các bạn đã đọc bài viết. Chúc các bạn vận dụng tốt.

 

Xem thêm bài viết thuộc chuyên mục: dating

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button