ภาพรวม
แปลงอาร์เรย์เป็น List<T> ได้หลายวิธี ง่ายที่สุดคือ Constructor หรือ LINQ ToList()
วิธี 1: Constructor (ตัวอย่างต้นฉบับ)
int[] arr = { 23, 66, 96, 110 };
var list = new List(arr); // คัดลอกอัตโนมัติ
วิธี 2: LINQ ToList()
using System.Linq; var list = arr.ToList();
ตัวอย่างโค้ดเต็ม (วิธี Constructor)
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
int[] arr = { 23, 66, 96, 110 };
var list = new List(arr);
foreach (int res in list) Console.WriteLine(res);
}
}
ผลลัพธ์
23 66 96 110
ข้อสังเกต
- ทั้งสองวิธีเป็น shallow copy - reference types จะอ้างอิง object เดียวกัน
new Listเร็วกว่า(arr) ToList()เล็กน้อย (ไม่ผ่าน iterator)- สำหรับ
IEnumerable<T>ที่ไม่ใช่ array/collection ใช้ToList()บังคับ