Nối hai mảng byte (byte[]) trong C#

Trong C#, bạn có thể sử dụng phương thức Concat của lớp Enumerable từ System.Linq, hoặc bạn cũng có thể sử dụng phương thức Copy của lớp Array. Dưới đây là ví dụ về cả hai cách:

Sử dụng Enumerable.Concat

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        byte[] array1 = { 1, 2, 3 };
        byte[] array2 = { 4, 5, 6 };

        // Nối mảng sử dụng Enumerable.Concat
        byte[] concatenatedArray = array1.Concat(array2).ToArray();

        // In mảng đã nối
        foreach (byte b in concatenatedArray)
        {
            Console.Write(b + " ");
        }
    }
}

Phương pháp này rất tiện lợi và ngắn gọn, nhưng hãy nhớ thêm using System.Linq; để sử dụng được Concat.

Sử dụng Array.Copy

using System;

class Program
{
    static void Main()
    {
        byte[] array1 = { 1, 2, 3 };
        byte[] array2 = { 4, 5, 6 };

        // Tạo mảng mới với kích thước bằng tổng kích thước của hai mảng
        byte[] concatenatedArray = new byte[array1.Length + array2.Length];

        // Copy mảng thứ nhất vào mảng mới
        Array.Copy(array1, 0, concatenatedArray, 0, array1.Length);
        // Copy mảng thứ hai vào mảng mới, bắt đầu từ vị trí cuối cùng của mảng thứ nhất
        Array.Copy(array2, 0, concatenatedArray, array1.Length, array2.Length);

        // In mảng đã nối
        foreach (byte b in concatenatedArray)
        {
            Console.Write(b + " ");
        }
    }
}

Phương pháp này cho phép bạn kiểm soát chính xác việc sao chép dữ liệu và có thể hữu ích trong các trường hợp bạn muốn nối nhiều mảng hoặc khi bạn cần một giải pháp hiệu quả về hiệu suất cho các mảng lớn.

Post a Comment

أحدث أقدم