Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

List rỗng (Empty List) trong C#


Giới thiệu

Một List<T> được khởi tạo bằng constructor mặc định new List<T>() là danh sách rỗng (empty) - có Count = 0 nhưng không phải null.

Ví dụ cơ bản

List myList = new List();
Console.WriteLine(myList == null); // False
Console.WriteLine(myList.Count);   // 0

Ví dụ hoàn chỉnh

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        List myList = new List();
        // Trả về false: list không null, là list rỗng
        Console.WriteLine(myList == null);
        Console.WriteLine("Count: " + myList.Count);
    }
}

Kết quả

False
Count: 0

Phân biệt: Null vs Empty

Đặc điểmNull ListEmpty List
Khởi tạoList list = null;List list = new List();
list == nulltruefalse
list.CountNém NullReferenceException0
foreachNém ngoại lệChạy 0 lần (an toàn)
list.Add()Ném ngoại lệHoạt động bình thường

Best Practice

  • Luôn khởi tạo list: var list = new List<T>(); thay vì để null.
  • Trả về list rỗng thay vì null từ phương thức: return new List<T>(); hoặc return Enumerable.Empty<T>().ToList();.
  • Kiểm tra null trước khi dùng nếu không chắc chắn: if (list != null && list.Count > 0).
  • Dùng list?.Count ?? 0 (C# 6+) để an toàn.

Kiểm tra rỗng

if (myList.Count == 0) { ... }
// Hoặc LINQ
if (!myList.Any()) { ... }
// Hoặc extension (C# 8+)
if (myList.IsNullOrEmpty()) { ... } // Cần viết extension method