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

Tạo List từ mảng trong C#


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ần using System.Linq;)
  • var list = new List(); list.AddRange(val);
  • List list = val.ToList(); (extension method)

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();