Chủ Nhật , 24 Tháng Một 2021
Trang chủ / HỌC LẬP TRÌNH / C# [C Sharp] / [Học lập trình] – C# – [Bài 17] – Dữ liệu kiểu mảng trong C# 

[Học lập trình] – C# – [Bài 17] – Dữ liệu kiểu mảng trong C# 

Dữ liệu kiểu mảng trong C#


Cách tạo một mảng dữ liệu

Mảng dữ liệu được sử dụng để lưu trữ nhiều giá trị trong một biến đơn lẻ thay vì phải khai báo các biến khác nhau cho mỗi giá trị.

Để khai báo một mảng, chúng ta thực hiện khai báo kiểu biến với một cặp ngoặc vuông, như sau:

string[] cars;

Như ở trên, chúng ta đã khai báo một biến kiểu mảng cars – lưu các giá trị kiểu chuỗi ký tự.

Để chèn các giá trị vào mảng, chúng ta có thể sử dụng một mảng chữ – đặt các giá trị trong một danh sách phân tách bởi dấu phẩy, bên trong cặp dấu ngoặc nhọn:

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

Để tạo một mảng lưu các số nguyên, chúng ta có thể khai báo như sau:

int[] myNum = {10, 20, 30, 40};

Truy xuất vào các phần tử của một mảng

Chúng ta có thể truy xuất một phần tử của mảng bằng cách tham chiếu tới số thứ tự của nó.

Câu lệnh dưới đây sẽ truy xuất vào phần tử đầu tiên của mảng dữ liệu cars:

Ví dụ

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Console.WriteLine(cars[0]);
// Outputs Volvo

Chạy ví dụ »

Chú ý: Chỉ số của mảng bắt đầu từ số 0: [0] là phần tử đầu tiên. [1] là phần tử thứ hai, …


Thay đổi một phần tử của mảng

Để thay đổi giá trị của một phần tử xác định, chúng ta tham chiếu tới chỉ số của nó:

Ví dụ

cars[0] = "Opel";

Ví dụ

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
Console.WriteLine(cars[0]);
// Now outputs Opel instead of Volvo

Chạy ví dụ »


Độ dài của mảng

Để xác định có bao nhiều phần tử trong mảng, chúng ta sử dụng thuộc tính Length:

Ví dụ

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Console.WriteLine(cars.Length);
// Outputs 4

Chạy ví dụ »


Duyệt qua một mảng

Chúng ta có thể duyệt qua các phần tử của mảng bằng cách sử dụng vòng lặp for, và sử dụng thuộc tính Length để xác định vòng lặp phải chạy bao nhiều lần.

Ví dụ sau in ra màn hình tất cả các phần tử của mảng cars:

Ví dụ

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.Length; i++) 
{
  Console.WriteLine(cars[i]);
}

Chạy ví dụ »


Vòng lặp foreach

Chúng ta cũng có thể sử dụng vòng lặp foreach để duyệt qua các phần tử của một mảng array:

Cú pháp

foreach (type variableName in arrayName) 
{
  // code block to be executed
}

Ví dụ sau in ra màn hình tất cả các phần tử của mảng, bằng cách sử dụng vòng lặp foreach:

Ví dụ

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
foreach (string i in cars) 
{
  Console.WriteLine(i);
}

Chạy ví dụ »

Ở ví dụ trên có thể được đọc như sau: với mỗi phần tử kiểu string (được gọi là i) trong cars, in ra màn hình giá trị của i.

Nếu ta so sánh vòng lặp for và vòng lặp foreach, chúng ta sẽ thấy vòng lặp foreach dễ viết hơn và không yêu cầu phải đếm lượt (sử dụng thuộc tính Length), và mã lệnh dễ đọc hơn.


Sắp xếp trong mảng

Có nhiều phương thức sắp xếp mảng có sẵn, ví dụ phương thức Sort(), nó sắp xếp một mảng theo thứ tự bảng chữ cái hoặc theo thứ tự tăng dần:

Ví dụ

// Sort a string
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Array.Sort(cars);
foreach (string i in cars)
{
  Console.WriteLine(i);
}
// Sort an int
int[] myNumbers = {5, 1, 8, 9};
Array.Sort(myNumbers);
foreach (int i in myNumbers)
{
  Console.WriteLine(i);
}

Chạy ví dụ »


Không gian tên System.Linq – System.Linq Namespace

Các phương thức hữu dụng khác, như Min, Max và Sum, có thể được tìm thấy trong không gian tên System.Linq:

Ví dụ

using System;
using System.Linq;

namespace MyApplication
{
  class Program
  {
    static void Main(string[] args)
    {
      int[] myNumbers = {5, 1, 8, 9};
      Console.WriteLine(myNumbers.Max());  // returns the largest value
      Console.WriteLine(myNumbers.Min());  // returns the smallest value
      Console.WriteLine(myNumbers.Sum());  // returns the sum of elements
    }
  }
}

Chạy ví dụ »

Chúng ta sẽ học về các không gian tên (namespace) khác trong các phần sau.


Các cách khác để tạo một mảng

Nếu bạn đã quen thuộc với C#, bạn có thể đã nhìn thấy cách tạo mảng bằng từ khóa new, với kích thước đã được định sẵn. Trong C#, có rất nhiều cách để tạo một mảng:

// Create an array of four elements, and add values later
string[] cars = new string[4];

// Create an array of four elements and add values right away 
string[] cars = new string[4] {"Volvo", "BMW", "Ford", "Mazda"};

// Create an array of four elements without specifying the size 
string[] cars = new string[] {"Volvo", "BMW", "Ford", "Mazda"};

// Create an array of four elements, omitting the new keyword, and without specifying the size
string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

Nó tùy thuộc vào lựa chọn của bạn. Trong loạt bài hướng dẫn này, chúng ta thường sử dụng kiểu khai báo mảng cuối, nó nhanh và dễ đọc.

Tuy nhiên, bạn cần chú ý rằng, nếu bạn khai báo một mảng và khởi tạo nó sau, bạn phải sử dụng từ khóa new:

// Declare an array
string[] cars;

// Add values, using new
cars = new string[] {"Volvo", "BMW", "Ford"};
// Thêm các giá trị mà không sử dụng từ khóa new (điều này sẽ sinh ra lỗi) cars = {“Volvo”, “BMW”, “Ford”};

Chạy ví dụ »

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *