BÀI TẬP C#
Hoán đổi hai biến trong C# Dãy số Fibonacci trong C# Kiểm tra số nguyên tố trong C# Kiểm tra số đối xứng trong C# Đảo ngược một số trong C# Kiểm tra số Armstrong trong C# Tính giai thừa của một số C# Tổng các chữ số của một số C# Đổi thập phân sang nhị phân C# Đổi nhị phân sang thập phân C# Đếm số lần xuất hiện ký tự C# Xóa ký tự trùng lặp trong C# Tìm các chuỗi con trong C# Xóa phần tử trùng khỏi mảng C# Tính chu vi / diện tích hình chữ nhật Tính chu vi / diện tích hình tròn C# Tính chu vi / diện tích hình tam giác Đếm số chữ số của một số C# Tính tổng các số chẵn từ 1 đến N Tính tổng các số lẻ từ 1 đến N In ra hình tam giác ký tự * C# Sắp xếp nổi bọt trong C# Sắp xếp trộn trong C# Cách cộng hai số trong C# Kiểm tra số chẵn hay số lẻ C# Cách kiểm tra năm nhuận trong C# Tìm phần nguyên và phần dư C# Cách xóa khoảng trắng trong C# Cách viết hoa ký tự đầu tiên trong C# Cách chuyển chữ thường thành chữ in hoa và ngược lại trong C# Cách tính trung bình cộng các phần tử trong mảng C# Cách đảo ngược các phần tử trong mảng C# Cách kiểm tra số hoàn hảo trong C# Cách kiểm tra số chính phương trong C# Cách tìm bội chung nhỏ nhất trong C# Cách tìm ước số của một số nguyên trong C# Cách làm tròn số trong C# Cách tính căn bậc hai trong C# Tạo các số ngẫu nhiên trong C# Cách tìm số nhỏ nhất và lớn nhất trong C# Cách kiểm tra sự tồn tại của giá trị x trong mảng C# Cách tìm số lớn nhất trong mảng C# Cách chuyển đổi giờ phút giây trong C# Cách nối hai mảng trong C# Giải phương trình bậc nhất ax + b = 0 trong C# Hướng dẫn giải phương trình bậc hai trong C#
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Cách nối hai mảng trong C# bằng hai cách khác nhau

Trong bài viết này mình sẽ hướng dẫn các bạn cách nối hai mảng trong C#. Đây là dạng bài tập thường gặp khi bắt đầu học mảng một chiều, vậy nên các bạn cần có kiến thức về nó đã nhé.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Mình sẽ thực hiện hai chương trình để nối hai mảng với nhau trong C#. Chương trình đầu tiên sử dụng cách thủ công, chương trình thứ hai sử dụng phương thức Copy() trong Array.

Nối hai chuỗi sử dụng cách thủ công trong C#

Để nối hai chuỗi sử dụng cách thủ công ta cần khai báo và khởi tạo hai mảng array1 và array2. Cần thêm một mảng result để lưu kết quả nối giữa hai mảng, mảng này có độ dài bảng hai mảng kia cộng lại.

Sử dụng vòng lặp foreach() để gán lần lượt các phần tử trong mảng array1, array2 vào mảng result. Sau đó in kết quả ra màn hình.

Bài viết này được đăng tại [free tuts .net]

//sử dụng vòng lặp foreach để lặp từng phần tử trong mảng,
//sau đó gán từng phần tử trong mảng array1 vào mảng result
foreach (int element in array1)
{
    result[pos] = element;
    pos++;
}
//tương tự như vậy cho mảng thứ 2
foreach (int element in array2)
{
    result[pos] = element;
    pos++;
}

Full code:

using System;

namespace BaiTapCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            //khai báo và khởi tạo giá trị cho các phần tử của hai mảng array1 và array2
            int[] array1 = { 1, 2, 3 };
            int[] array2 = { 4, 5, 6 };
            //biến length sẽ bằng độ dài của hai mảng cộng lại
            int length = array1.Length + array2.Length;
            //Bây giờ khai báo thêm một mảng mới result để lưu trữ hai mảng cần nối, với độ dài bằng length
            int[] result = new int[length];
            int pos = 0;
            //Hiển thị các phần tử trong mảng thứ nhất
            Console.Write("\n Cac phan tu mang thu nhat: ");
            for (int i = 0; i < array1.Length; i++)
            {
                Console.Write(array1[i] + "  ");
            }
            //hiển thị các phần tử trong mảng thứ hai
            Console.Write("\n\n Cac phan tu mang thu hai: ");
            for (int i = 0; i < array2.Length; i++)
            {
                Console.Write(array2[i] + "  ");
            }
            //sử dụng vòng lặp foreach để lặp từng phần tử trong mảng,
            //sau đó gán từng phần tử trong mảng array1 vào mảng result
            foreach (int element in array1)
            {
                result[pos] = element;
                pos++;
            }
            //tương tự như vậy cho mảng thứ 2
            foreach (int element in array2)
            {
                result[pos] = element;
                pos++;
            }
            //sử dụng vòng lặp for để in các phần tử trong mảng result sau khi nối ra màn hình
            Console.Write("\n\n Cac phan tu sau khi noi su dung cach thu cong: ");
            for (int i = 0; i < result.Length; i++)
            {
                Console.Write(result[i] + "  ");
            }
            Console.WriteLine("\n\n-----Chuong trinh nay duoc dang tai Freetuts.net---");
        }
    }
}

Kết quả:

bai44 02 png

Nối hai chuỗi sử dụng phương thức Array.Copy() trong C#

Để đơn giản hơn thay vì phải sử dụng vòng lặp foreach() để lặp từng phần tử rồi gán vào mảng result. Ta sử dụng phương thức Array.Copy() để sao chép các phần tử từ mảng array1, array2 vào mảng result.

//sao chép các phần tử trong mảng array1 vào mảng result
System.Array.Copy(array1, 0, result, 0, aLen);
//tương tự như vậy sao chép các phần tử trong mảng array2 vào mảng result
System.Array.Copy(array2, 0, result, aLen, bLen);

Full code:

using System;

namespace BaiTapCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            //khai báo và khởi tạo cho hai mảng array1 và array2
            int[] array1 = { 1, 2, 3 };
            int[] array2 = { 4, 5, 6 };
            //Hiển thị các phần tử trong mảng thứ nhất
            Console.Write("\n Cac phan tu mang thu nhat: ");
            for (int i = 0; i < array1.Length; i++)
            {
                Console.Write(array1[i] + "  ");
            }
            //hiển thị các phần tử trong mảng thứ hai
            Console.Write("\n\n Cac phan tu mang thu hai: ");
            for (int i = 0; i < array2.Length; i++)
            {
                Console.Write(array2[i] + "  ");
            }
            //aLen sẽ bằng độ dài của mảng array1 và bLen sẽ bằng độ dài của mảng array2
            int aLen = array1.Length;
            int bLen = array2.Length;
            //khai báo một mảng result với độ dài bằng aLen + bLen để lưu trữ các phần tử của array1 và array2
            int[] result = new int[aLen + bLen];
            //sử dụng phương thức Copy() trong Array để nối hai mảng, cụ thể như sau
            //sao chép các phần tử trong mảng array1 vào mảng result
            System.Array.Copy(array1, 0, result, 0, aLen);
            //tương tự như vậy sao chép các phần tử trong mảng array2 vào mảng result
            System.Array.Copy(array2, 0, result, aLen, bLen);
            //sử dụng vòng lặp for để in các phần tử trong mảng result sau khi nối ra màn hình
            Console.Write("\n\n Cac phan tu sau khi noi su dung phuong thuc Copy(): ");
            for (int i = 0; i < result.Length; i++)
            {
                Console.Write(result[i] + "  ");
            }

            Console.WriteLine("\n\n-----Chuong trinh nay duoc dang tai Freetuts.net---");
        }
    }
}

Kết quả:

bai44 01 png

Như vậy là chúng ta đã thực hiện xong chương trình nối hai mảng trong C#. Đây là các bài tập cơ bản, vì vậy hãy luyện tập thật nhiều để hiểu rõ về nó nhé, chúc các bạn thành công !!!

Cùng chuyên mục:

Memento Design Pattern trong C# - Cách triển khai và ví dụ

Memento Design Pattern trong C# - Cách triển khai và ví dụ

Interpreter Design Pattern trong C# - Cách triển khai và ví dụ

Interpreter Design Pattern trong C# - Cách triển khai và ví dụ

Strategy Design Pattern trong C# - Cách triển khai và ví dụ

Strategy Design Pattern trong C# - Cách triển khai và ví dụ

Visitor Design Pattern trong C# - Cách triển khai và ví dụ

Visitor Design Pattern trong C# - Cách triển khai và ví dụ

Command Design Pattern trong C# - Cách triển khai và ví dụ

Command Design Pattern trong C# - Cách triển khai và ví dụ

Observer Design Pattern trong C# - Cách triển khai và ví dụ

Observer Design Pattern trong C# - Cách triển khai và ví dụ

Iterator Design Pattern trong C# - Cách triển khai và ví dụ

Iterator Design Pattern trong C# - Cách triển khai và ví dụ

Proxy Design Pattern trong C# - Cách triển khai và ví dụ

Proxy Design Pattern trong C# - Cách triển khai và ví dụ

Composite Design Pattern trong C# - Cách triển khai và ví dụ

Composite Design Pattern trong C# - Cách triển khai và ví dụ

Bridge Design Pattern trong C# - Cách triển khai và ví dụ

Bridge Design Pattern trong C# - Cách triển khai và ví dụ

Decorator Design Pattern trong C# - Cách triển khai và ví dụ

Decorator Design Pattern trong C# - Cách triển khai và ví dụ

Facade Design Pattern trong C# - Cách triển khai và ví dụ

Facade Design Pattern trong C# - Cách triển khai và ví dụ

Adapter Design Pattern trong C# - Cách triển khai và ví dụ

Adapter Design Pattern trong C# - Cách triển khai và ví dụ

Singleton Design Pattern trong C# - Cách triển khai và ví dụ

Singleton Design Pattern trong C# - Cách triển khai và ví dụ

Prototype Design Pattern trong C# - Cách triển khai và ví dụ

Prototype Design Pattern trong C# - Cách triển khai và ví dụ

Builder Design Pattern trong C# - Cách triển khai và ví dụ

Builder Design Pattern trong C# - Cách triển khai và ví dụ

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Trong bài viết này Freetuts chia sẽ cho các bạn một ứng dụng khá thú…

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Chúng ta sẽ tìm hiểu về Factory Design Pattern trong C# là gì? Cách triển…

Hướng dẫn giải phương trình bậc hai trong C#

Hướng dẫn giải phương trình bậc hai trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Top