为什么控制台窗口不是水平而不是垂直打印数组内容?
有办法改变吗?
如何以水平方式而不是垂直方式显示数组内容Console.WriteLine()
?
例如:
int[] numbers = new int[100]
for(int i; i < 100; i++)
{
numbers[i] = i;
}
for (int i; i < 100; i++)
{
Console.WriteLine(numbers[i]);
}
Run Code Online (Sandbox Code Playgroud)
Dir*_*mar 121
您可能正在使用Console.WriteLine
打印阵列.
int[] array = new int[] { 1, 2, 3 };
foreach(var item in array)
{
Console.WriteLine(item.ToString());
}
Run Code Online (Sandbox Code Playgroud)
如果您不希望在单独的行中使用每个项目Console.Write
:
int[] array = new int[] { 1, 2, 3 };
foreach(var item in array)
{
Console.Write(item.ToString());
}
Run Code Online (Sandbox Code Playgroud)
或string.Join<T>
(在.NET Framework 4或更高版本中):
int[] array = new int[] { 1, 2, 3 };
Console.WriteLine(string.Join(",", array));
Run Code Online (Sandbox Code Playgroud)
Lar*_*rry 29
我会建议 :
foreach(var item in array)
Console.Write("{0}", item);
Run Code Online (Sandbox Code Playgroud)
如上所述,除非一个项目是异常,否则不会引发异常null
.
Console.Write(string.Join(" ", array));
Run Code Online (Sandbox Code Playgroud)
如果数组是a,那将是完美的 string[]
Jus*_*ner 18
通过阵列只是环和编写使用的项目到控制台Write
,而不是WriteLine
:
foreach(var item in array)
Console.Write(item.ToString() + " ");
Run Code Online (Sandbox Code Playgroud)
只要您的商品没有任何换行符,就会生成一行.
...或者,正如Jon Skeet所说,为你的问题提供更多的背景.
如果您需要漂亮地打印数组数组,可以使用以下方法:Pretty Print Array of Arrays in .NET C#
public string PrettyPrintArrayOfArrays(int[][] arrayOfArrays)
{
if (arrayOfArrays == null)
return "";
var prettyArrays = new string[arrayOfArrays.Length];
for (int i = 0; i < arrayOfArrays.Length; i++)
{
prettyArrays[i] = "[" + String.Join(",", arrayOfArrays[i]) + "]";
}
return "[" + String.Join(",", prettyArrays) + "]";
}
Run Code Online (Sandbox Code Playgroud)
示例输出:
[[2,3]]
[[2,3],[5,4,3]]
[[2,3],[5,4,3],[8,9]]
Run Code Online (Sandbox Code Playgroud)
下面的解决方案是最简单的一种:
Console.WriteLine("[{0}]", string.Join(", ", array));
Run Code Online (Sandbox Code Playgroud)
输出:[1, 2, 3, 4, 5]
另一个简短的解决方案:
Array.ForEach(array, val => Console.Write("{0} ", val));
Run Code Online (Sandbox Code Playgroud)
输出:1 2 3 4 5
。或者,如果您需要添加 add ,
,请使用以下命令:
int i = 0;
Array.ForEach(array, val => Console.Write(i == array.Length -1) ? "{0}" : "{0}, ", val));
Run Code Online (Sandbox Code Playgroud)
输出:1, 2, 3, 4, 5
归档时间: |
|
查看次数: |
251016 次 |
最近记录: |