Tìm hiểu về các loại danh sách trong lập trình c# mà người lập trình nên biết

C# là một ngôn ngữ mới, hiện đại và mạnh mẽ với nhiều thư viện hưu ích giúp lập trình viên giảm tải công việc viết mã lệnh. Khám phá bài viết này để hiểu hơn về các loại danh sách trong c#.

Trong lập trình C#, có nhiều loại danh sách (collections) khác nhau, mỗi loại phù hợp với các tình huống sử dụng cụ thể. Dưới đây là tổng quan về các loại danh sách phổ biến và ví dụ minh họa chi tiết cho từng loại:

1. List<T> – Danh sách tổng quát

+ Đặc điểm: Kích thước linh hoạt, dễ sử dụng, hỗ trợ truy cập theo chỉ số.

+ Thường dùng khi: Cần lưu trữ một danh sách các phần tử cùng kiểu và có thể thay đổi kích thước.

Trong thực tế List hay được sử dụng để thao tác với danh sách bao gồm: lấy danh sách, thêm, sửa, xóa, chèn và tìm kiếm thông tin trong lập trình c#.


Ví dụ:
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" };
        fruits.Add("Durian");
        fruits.Remove("Banana");
 
        foreach (var fruit in fruits)
        {
            Console.WriteLine(fruit);
        }
    }
}

2. LinkedList<T> – Danh sách liên kết

+ Đặc điểm: Tối ưu cho việc chèn/xóa ở đầu/cuối danh sách.

+ Thường dùng khi: Cần thao tác nhiều với đầu/cuối danh sách.

Ví dụ:
using System;
using System.Collections.Generic;
 
class Program
{
    static void Main()
    {
        LinkedList<int> numbers = new LinkedList<int>();
        numbers.AddLast(1);
        numbers.AddLast(2);
        numbers.AddFirst(0);
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

3. Dictionary<TKey, TValue> – Từ điển (key-value)

+ Đặc điểm: Truy xuất nhanh theo khóa.

+ Thường dùng khi: Cần ánh xạ giữa các cặp khóa – giá trị.

Ví dụ:
using System;
using System.Collections.Generic;
 
class Program
{
    static void Main()
    {
        LinkedList<int> numbers = new LinkedList<int>();
        numbers.AddLast(1);
        numbers.AddLast(2);
        numbers.AddFirst(0);
 
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

4. HashSet<T> – Tập hợp không trùng lặp

+ Đặc điểm: Không chứa phần tử trùng lặp, truy xuất nhanh.

+ Thường dùng khi: Cần kiểm tra sự tồn tại nhanh và không cho phép trùng lặp.

Ví dụ:
using System;
using System.Collections.Generic;
 
class Program
{
    static void Main()
    {
        HashSet<string> cities = new HashSet<string>();
        cities.Add("Hanoi");
        cities.Add("Saigon");
        cities.Add("Hanoi"); // Bị bỏ qua vì đã tồn tại
 
        foreach (var city in cities)
        {
            Console.WriteLine(city);
        }
    }
}

5. Queue<T> – Hàng đợi (FIFO)

+ Đặc điểm: Vào trước – ra trước.
+ Thường dùng khi: Mô phỏng hàng đợi, xử lý theo thứ tự.

Ví dụ:

using System;
using System.Collections.Generic;
 
class Program
{
    static void Main()
    {
        Queue<string> queue = new Queue<string>();
        queue.Enqueue("First");
        queue.Enqueue("Second");
 
        Console.WriteLine(queue.Dequeue()); // First
        Console.WriteLine(queue.Peek());    // Second
    }
}

6. Stack<T> – Ngăn xếp (LIFO)

+ Đặc điểm: Vào sau – ra trước.

+ Thường dùng khi: Quản lý lịch sử, undo/redo, duyệt cây.

Ví dụ:

using System;
using System.Collections.Generic;
 
class Program
{
    static void Main()
    {
        Stack<string> stack = new Stack<string>();
        stack.Push("Bottom");
        stack.Push("Top");
 
        Console.WriteLine(stack.Pop());  // Top
        Console.WriteLine(stack.Peek()); // Bottom
    }
}
Như vậy qua bài viết Stanford đã giúp các bạn học lập trình c# hiểu rõ hơn các loại danh sách hỗ trợ trong ngôn ngữ lập trình c# mà bạn có thể sử dụng trong dự án khi cần. Để hiểu rõ hơn về các loại danh sách này bạn có thể thực hành theo các ví dụ trong bài viết đã hướng dẫn ở trên. Chúc bạn học tập tốt !

Bên cạnh tự học c#, bạn có một lựa chọn tốt để học c# bài bản dưới sự hướng dẫn của chuyên gia giàu kinh nghiệm Stanford bằng việc đăng ký tham gia ngay lớp học tại đây: http://bit.ly/2SLPYFF để chinh phục con đường trở thành lập trình viên c# chuyên nghiệp và nhận ưu đãi hấp dẫn. Hoặc bạn có thể gọi theo hotline: 0963 723 236 - 0866 586 366 để được Stanford gọi lại tư vấn trực tiếp nhé.

==========🎬 🎬 🎬==========
☎️STANFORD – ĐÀO TẠO VÀ PHÁT TRIỂN CÔNG NGHỆ
Hotline: 0963 723 236 - 0866 586 366
Website: https://stanford.com.vn
Facebook: http://bit.ly/2FN0TYb
Youtube: http://bit.ly/2TkKT7I
Trụ sở chính: Toà nhà iTech, Số 20 ngõ 678 đường Láng, Đống Đa, Hà Nội

Tags: học c# cơ bản, các loại danh sách c#