一行的console.writeline数组值

时间:2019-04-21 15:21:38

标签: c#

如何在一行上打印两个数组的值?

我已经尝试过使用此代码

int[] arr1 = { 37, 45, 65 };
int[] arr2 = { 70, 89, 118 };

var myList = new List<int>();
myList.AddRange(arr1);
myList.AddRange(arr2);
int[] arr3 = myList.ToArray();
Console.WriteLine("Combined array elements..");
foreach (int res in arr3)
{
    Console.WriteLine(" " + res + " ");
}

4 个答案:

答案 0 :(得分:0)

只需使用Console.Write

string str;
foreach (int res in arr3)
{
    str += $"{res} ";
}
Console.WriteLine(str);

在这种情况下,如果数组很大,则应使用StringBuilder

但是最好的方法似乎是这样的:

int[] arr1 = { 37, 45, 65 };
int[] arr2 = { 70, 89, 118 };
Console.Write(String.Join(" ", arr1.Concat(arr2)));

答案 1 :(得分:0)

无需创建新数组,只需Concat两个数组,然后使用Write而不是WriteLine

foreach(var res in arr1.Concat(arr2)
{
  Console.Write($"{res} ");
}

答案 2 :(得分:0)

int[] arr1 = { 37, 45, 65 };
        int[] arr2 = { 70, 89, 118 };

        var myList = new List<int>();
        myList.AddRange(arr1);
        myList.AddRange(arr2);
        int[] arr3 = myList.ToArray();
        Console.WriteLine("Combined array elements..");
        foreach (int res in arr3)
        {
            Console.Write(" " + res + " ");
        }

答案 3 :(得分:0)

Write而不是WriteLine,并使用LINQ减少代码:

        int[] arr1 = { 37, 45, 65 };
        int[] arr2 = { 70, 89, 118 };
        Console.WriteLine("Combined array elements..");
        arr1.Concat(arr2).ToList().ForEach(x => Console.Write($"{x} "))