ภาพรวม
ใช้ List<T>.AddRange() รวมอาร์เรย์สองตัว โดยเพิ่มลงในลิสต์ แล้วแปลงกลับเป็นอาร์เรย์ด้วย ToArray()
รูปแบบการใช้งาน
int[] arr1 = { 15, 20, 27, 56 };
int[] arr2 = { 62, 69, 76, 92 };
var list = new List();
list.AddRange(arr1);
list.AddRange(arr2);
int[] merged = list.ToArray();
ตัวอย่างโค้ดเต็ม
using System;
using System.Collections.Generic;
class Demo
{
static void Main()
{
int[] arr1 = { 15, 20, 27, 56 };
int[] arr2 = { 62, 69, 76, 92 };
Console.WriteLine("Array 1..."); foreach (int e in arr1) Console.WriteLine(e);
Console.WriteLine("Array 2..."); foreach (int e in arr2) Console.WriteLine(e);
var myList = new List();
myList.AddRange(arr1);
myList.AddRange(arr2);
int[] arr3 = myList.ToArray();
Console.WriteLine("Merged array.."); foreach (int r in arr3) Console.WriteLine(r);
}
}
ผลลัพธ์
Array 1... 15 20 27 56 Array 2... 62 69 76 92 Merged array.. 15 20 27 56 62 69 76 92
วิธีอื่นๆ รวมอาร์เรย์
LINQ: arr1.Concat(arr2).ToArray()- สั้น กระชับ ไม่ต้องสร้าง List ชั่วคราวArray.Copy- ต้องคำนวณขนาดสร้างอาร์เรย์ใหม่ก่อน แล้ว Copy ทีละช่วงEnumerable.Concat- lazy evaluation เหมาะสำหรับข้อมูลใหญ่