VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

C# Cơ Bản

C# là gì? - C# được sử dụng để làm gì? C# - Cài đặt môi trường C# - Cấu trúc chương trình C# - Cấu trúc cơ bản C# - Kiểu dữ liệu C# - Ép kiểu dữ liệu C# - Hằng số (Constant) C# - Toán tử C# - Lệnh if-else C# - Lệnh switch-case C# - Vòng lặp for C# - Vòng lặp while C# - Vòng lặp do-while C# - Nullable C# - Phương thức C# - Lớp (class) và đối tượng (Object) C# - Mảng (array) C# - Chuỗi (string) C# - Struct C# - Enum C# - Interface C# - Namespace C# - Preprocessor Directive C# - Regular Expression C# - Xử lý ngoại lệ C# - File I/O

Các Tính Chất Hướng Đối Tượng C#

C# - Tính đóng gói C# - Tính kế thừa C# - Tính đa hình C# - Nạp chồng toán tử

C# Nâng Cao

C# - Attribute C# - Reflection C# - Property C# - Indexer C# - Delegate C# - Sự kiện (Event) C# - Collection C# - Generic C# - Phương thức nặc danh C# - Unsafe Code C# - Multithreading

Bài tập C#

Bài tập C# có lời giải

Học Lập Trình C/C++

Học lập trình C Học lập trình C++
1 / 3
❮ ❯

Mảng (Array) trong C#


Lớp (Class) và đối tượng (Object) trong C#
Chuỗi (String) trong C#

Thông thường, mảng là một tập hợp các phần tử có cùng kiểu được lưu trữ gần nhau trong bộ nhớ.

Mảng (Array) trong C# là một đối tượng chứa các phần tử có kiểu dữ liệu giống nhau. Mảng là một cấu trúc dữ liệu nơi lưu trữ các phần tử giống nhau. Với mảng trong C# chúng ta chỉ có thể lưu trữ một tập các phần tử có số lượng phần tử cố định.

Mảng trong C# lưu các phần tử theo chỉ số, chỉ số của phần tử đầu tiên là 0.

Mảng array trong C#

Nội dung chính

  • Tạo một mảng trong C#
  • Truy cập các phần tử của một mảng
  • Thay đổi một phần tử mảng
  • Độ dài mảng
  • Duyệt các phần tử của mảng
    • Sử dụng vòng lặp for
    • Sử dụng foreach
    • So sánh for với foreach
  • Sắp xếp mảng
  • System.Linq Namespace
  • Các cách khác để tạo một mảng trong C#

Tạo một mảng trong C#

Để khai báo một mảng, khai báo loại biến với dấu ngoặc vuông []:


string[] cars;

Ví dụ trên chúng ta đã khai báo một biến chứa một chuỗi các chuỗi.

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


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

Để tạo một mảng các số nguyên, bạn có thể viết:


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


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

Bạn truy cập một phần tử mảng bằng cách sử dụng số chỉ mục (index).

Ví dụ:


using System;

namespace VietTutsCsharp
{
    class ViDuMang
    {
        static void Main(string[] args)
        {
            string[] cars = { "Honda", "BMW", "Ford", "Mazda" };
            Console.WriteLine(cars[0]);
        }
    }
}

Kết quả:

Honda
Lưu ý: Chỉ mục của mảng bắt đầu bằng 0: [0] là phần tử đầu tiên. [1] là phần tử thứ hai, v.v.

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

Để thay đổi giá trị của một phần tử cụ thể, hãy sử dụng số chỉ mục:

Ví dụ:


using System;

namespace VietTutsCsharp
{
    class ViDuMang
    {
        static void Main(string[] args)
        {
            string[] cars = { "Honda", "BMW", "Ford", "Mazda" };
            cars[0] = "Morning";
            Console.WriteLine(cars[0]);
        }
    }
}

Kết quả:

Morning


Độ dài mảng

Để biết có bao nhiêu phần tử một mảng, sử dụng thuộc tính Length :

Ví dụ:


using System;

namespace VietTutsCsharp
{
    class ViDuMang
    {
        static void Main(string[] args)
        {
            string[] cars = { "Honda", "BMW", "Ford", "Mazda" };
            Console.WriteLine(cars.Length);
        }
    }
}

Kết quả:

4

Duyệt các phần tử của mảng

Có 2 các để duyệt các phần tử của mảng:

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

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

Bạn có thể lặp qua các phần tử mảng bằng vòng lặp for và sử dụng thuộc tính Length để chỉ định số lần vòng lặp sẽ chạy. Ví dụ:


using System;

namespace VietTutsCsharp
{
    class ViDuMang
    {
        static void Main(string[] args)
        {
            string[] cars = { "Honda", "BMW", "Ford", "Mazda" };
            for (int i = 0; i < cars.Length; i++)
            {
                Console.WriteLine(cars[i]);
            }
            
        }
    }
}

Kết quả:

Honda
BMW
Ford
Mazda

Sử dụng foreach


using System;

namespace VietTutsCsharp
{
    class ViDuMang
    {
        static void Main(string[] args)
        {
            string[] cars = { "Honda", "BMW", "Ford", "Mazda" };
            foreach (string i in cars)
            {
                Console.WriteLine(i);
            }
        }
    }
}

Kết quả:

Honda
BMW
Ford
Mazda

So sánh for với foreach

Nếu bạn so sánh vòng lặp for và vòng lặp foreach, bạn sẽ thấy rằng phương thức foreach dễ viết hơn, nó không yêu cầu bộ đếm (sử dụng thuộc tính Length) và nó dễ đọc hơn.



Sắp xếp mảng

Có nhiều phương thức mảng có sẵn, ví dụ Sort(), 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ụ:


using System;

namespace VietTutsCsharp
{
    class ViDuMang
    {
        static void Main(string[] args)
        {
            string[] cars = { "Honda", "BMW", "Ford", "Mazda" };
            Array.Sort(cars);
            for (int i = 0; i < cars.Length; i++)
            {
                Console.WriteLine(cars[i]);
            }
            
        }
    }
}

Kết quả:

BMW
Ford
Honda
Mazda

System.Linq Namespace

Có nhiều phương thức xử lý mảng hữu ích khác, chẳng hạn như Min, Max và Sum, có thể được tìm thấy trong System.Linq Namespace, ví dụ:


using System;
using System.Linq;

namespace VietTutsCsharp
{
    class ViDuMang
    {
        static void Main(string[] args)
        {
            int[] myNumbers = { 5, 1, 8, 9 };
            // trả về giá trị lớn nhất
            Console.WriteLine("Gia tri lon nhat:" + myNumbers.Max());
            // trả về giá trị nhỏ nhất
            Console.WriteLine("Gia tri nho nhat:" + myNumbers.Min());
            // trả về tổng các giá trị
            Console.WriteLine("Tong gia tri:" + myNumbers.Sum());  
        }
    }
}

Kết quả:

Gia tri lon nhat:9
Gia tri nho nhat:1
Tong gia tri:23

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

Trong C#, có nhiều cách khác nhau để tạo một mảng:


// tạo một mảng có độ dài 4, thêm các phần tử sau tạo
string[] cars = new string[4];

// tạo một mảng có độ dài 4, thêm các phần tử ngay khi tạo
string[] cars = new string[4] { "Honda", "BMW", "Ford", "Mazda" };

// tạo một mảng không cần chỉ định số phần tử cụ thể
string[] cars = new string[] { "Honda", "BMW", "Ford", "Mazda" };

// tạo một mảng không cần chỉ định số phần tử cụ thể và không cần dùng từ khóa new
string[] cars = { "Honda", "BMW", "Ford", "Mazda" };

Bạn có thể chọn bất kỳ cách khởi tạo nào. Trong hướng dẫn của chúng tôi, chúng tôi sẽ thường sử dụng tùy chọn cuối cùng, vì nó nhanh hơn và dễ đọc hơn.

Một trường hợp khác, 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:


// khai báo một mảng
string[] cars;

// thêm giá trị, sử dụng từ khóa new
cars = new string[] { "Honda", "BMW", "Ford" };

// nếu không dùng new sẽ bị lỗi
cars = { "Honda", "BMW", "Ford"};

Lớp (Class) và đối tượng (Object) trong C#
Chuỗi (String) trong C#

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Bài tập quản lý sinh viên trong C#Bài tập C# - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tố trong C#Bài tập C# - Tìm số thuận nghịch trong C#Bài tập C# - Tính tổng của các chữ số của môt số nguyên n trong C#Bài tập C# - Phân tích số nguyên n thành tích các số nguyên tố trong C#Bài tập C# - Liệt kê tất cả số nguyên tố có 5 chữ số trong C#Bài tập C# - Liệt kê n số nguyên tố đầu tiên trong C#Bài tập C# - Liệt kê tất cả các số nguyên tố nhỏ hơn n trong C#Bài tập C# - Tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của 2 sốGiải phương trình bậc 2 trong C#Chuyển đổi hệ cơ số trong C#Tính giai thừa trong C#

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml