Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

รวมสองอาร์เรย์ด้วยเมธอด AddRange() ใน C#


ภาพรวม

ใช้ 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 เหมาะสำหรับข้อมูลใหญ่