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

Kết hợp hai mảng trong C#


Giới thiệu

Gộp (combine/merge) hai mảng cùng kiểu bằng List<T>.AddRange() hoặc LINQ Concat().

Ví dụ với AddRange

int[] arr1 = { 37, 45, 65 };
int[] arr2 = { 70, 89, 118 };
var myList = new List();
myList.AddRange(arr1);
myList.AddRange(arr2);
int[] arr3 = myList.ToArray();

Ví dụ hoàn chỉnh

using System;
using System.Collections.Generic;

class Demo
{
    static void Main()
    {
        int[] arr1 = { 37, 45, 65 };
        int[] arr2 = { 70, 89, 118 };

        Console.WriteLine("Array 1...");
        foreach (int ele in arr1) Console.WriteLine(ele);

        Console.WriteLine("Array 2...");
        foreach (int ele in arr2) Console.WriteLine(ele);

        var myList = new List();
        myList.AddRange(arr1);
        myList.AddRange(arr2);
        int[] arr3 = myList.ToArray();

        Console.WriteLine("Combined array elements..");
        foreach (int res in arr3) Console.WriteLine(res);
    }
}

Kết quả

Array 1... 37 45 65
Array 2... 70 89 118
Combined array elements.. 37 45 65 70 89 118

Cách hiện đại hơn: LINQ Concat (khuyên dùng)

using System.Linq;
int[] arr3 = arr1.Concat(arr2).ToArray();
// Hoặc C# 12+ collection expression:
int[] arr3 = [..arr1, ..arr2];

So sánh

  • Concat(): Lazy, deferred, 1 lần ToArray, code ngắn.
  • AddRange: Eager, tạo List trung gian, rõ ràng hơn cho người mới.
  • Hiệu suất tương đương cho mảng nhỏ/vừa.