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

Xóa tất cả phần tử List (Clear) trong C#


Giới thiệu

Phương thức Clear() của List<T> xóa tất cả phần tử, đặt Count = 0. Capacity (dung lượng mảng nội bộ) không thay đổi.

Ví dụ cơ bản

List myList = new List { 45, 77 };
myList.Clear();
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 { 45, 77 };
        Console.WriteLine("Elements: " + myList.Count); // 2
        myList.Clear();
        Console.WriteLine("Elements after clear: " + myList.Count); // 0
    }
}

Kết quả

Elements: 2
Elements after using clear: 0

Clear vs new List()

Khi nào dùng Clear()?

  • Tái sử dụng List nhiều lần (ví dụ: trong vòng lặp, pool object).
  • Muốn giữ Capacity để tránh reallocate khi thêm lại.
  • Có tham chiếu khác đang giữ list này.

Khi nào dùng new List()?

  • Muốn giải phóng bộ nhớ (Capacity lớn, không dùng nữa).
  • Muốn ngắt tham chiếu với code khác đang giữ list cũ.
  • Code đơn giản, dễ đọc hơn.

TrimExcess()

Sau Clear(), nếu muốn giảm Capacity:

myList.Clear();
myList.TrimExcess(); // Giảm Capacity gần Count (0)
Đặc điểmClear()new List()
Giữ CapacityCóKhông (Capacity = 0)
Giải phóng bộ nhớKhôngCó (GC sau)
Tham chiếu cũVẫn trỏ đến list cũTạo list mới
Hiệu suấtNhanh (chỉ reset Count)Cấp phát mới