Giới thiệu
Constructor List<T>(IEnumerable<T>) cho phép tạo List mới sao chép các phần tử từ mảng hoặc bất kỳ IEnumerable nào.
Ví dụ cơ bản
int[] val = { 15, 25, 40, 58, 70 };
List myList = new List(val);
Ví dụ hoàn chỉnh
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
int[] val = { 15, 25, 40, 58, 70 };
List myList = new List(val);
Console.WriteLine("Elements...");
foreach (int res in myList) Console.WriteLine(res);
Console.WriteLine("Number of elements: " + myList.Count);
}
}
Kết quả
Elements... 15 25 40 58 70 Number of elements: 5
Các cách tạo List từ mảng khác
var list = val.ToList();(LINQ, cầnusing System.Linq;)var list = new List(); list.AddRange(val); List(extension method)list = val.ToList();
Lưu ý
- Tạo bản sao (shallow copy) - thay đổi list không ảnh hưởng mảng gốc và ngược lại.
- Với kiểu tham chiếu, cả hai chia sẻ tham chiếu đến cùng object.
- Constructor List(IEnumerable) tối ưu hóa bằng cách pre-allocate capacity.
- Mảng rỗng -> List rỗng (Count = 0).
Ngược lại: List sang mảng
int[] array = myList.ToArray();