首页 > 解决方案 > 如何在 C# 中将多个数组连接为单个数组?

问题描述

如何在 C# 中将多个数组连接为单个数组?

using System;
using System.Linq;

namespace Exp2
{
    class Program2
    {
        static void Main(string[] args)
        {
            Program2 pgm = new Program2();
            Console.Write("Enter number of Arrays do you want : ");
            int numberOfArrays = int.Parse(Console.ReadLine());
            int[] narray = new int[numberOfArrays];
            int[] el=new int[100];
            int[] el1 = new int[100];
            for (int i = 0; i < narray.Length; i++)
            {
                Console.Write("Enter number of Elements do you want in Array {0}: ",i+1);
                int ai = int.Parse(Console.ReadLine());
                for (int j = 0; j < ai; j++)
                {
                    Console.Write("Enter the {1} Elements do you want in Array {0}: ", i+1,j+1);
                    el[j]= int.Parse(Console.ReadLine());
                }
                el1 =el1.Concat(el).ToArray();
            }
            foreach (int val in el1)
            {
                Console.Write(val+" ");
            }
            Console.ReadLine();

        }
    }
}

输入:

Enter number of Arrays do you want : 3
Enter number of Elements do you want in Array 1: 3
Enter the 1 Elements do you want in Array 1: 5
Enter the 2 Elements do you want in Array 1: 6
Enter the 3 Elements do you want in Array 1: 9
Enter number of Elements do you want in Array 2: 4
Enter the 1 Elements do you want in Array 2: 5
Enter the 2 Elements do you want in Array 2: 8
Enter the 3 Elements do you want in Array 2: 2
Enter the 4 Elements do you want in Array 2: 2
Enter number of Elements do you want in Array 3: 5
Enter the 1 Elements do you want in Array 3: 32
Enter the 2 Elements do you want in Array 3: 4
Enter the 3 Elements do you want in Array 3: 6
Enter the 4 Elements do you want in Array 3: 6
Enter the 5 Elements do you want in Array 3: 4

输出:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 8 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 4 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

如何只显示用户的输入?

标签: c#arrayslist

解决方案


如果不知道元素个数,可以使用 List 而不是数组。

Concat 在列表中很容易。

List<int> list1 = new List<int>();
List<int> list2 = new List<int>();
// Do your action to assign elements in list1 and list2

// To add list1 into list2
list2.AddRange(list1);

推荐阅读