如何在一行上打印两个数组的值?
我已经尝试过使用此代码
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 + " ");
}
答案 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} "))