我已经创建了一个列表,并且在该列表中我已经设法复制了一个数组,现在我想要打印整个列表,而我只得到消息“System.String []”,因为我猜它尝试打印数组本身而不是数组内的所有内容。
我该怎么做?
<tag someattr="123>456" type="findMe">
案例1:
List<string[]> loggBoken = new List<string[]>();
以下是无效的代码:
string[] post = new string[2];
post[0] = Console.Readline()
post[1] = Console.ReadLine();
loggBoken.Add(post.ToArray());
答案 0 :(得分:2)
有几种方法:
两个循环:
foreach (string[] line in loggBoken) {
foreach(string item in line) {
Console.Write(item);
Console.Write('\t');
}
Console.WriteLine();
}
一个循环,一个Join
:
foreach (string[] line in loggBoken)
Console.WriteLine(string.Join("\t", line));
没有循环,两个Join
s(以及 Linq ):
Console.Write(string.Join(Environment.NewLine, loggBoken
.Select(line => string.Join("\t", line))));
答案 1 :(得分:0)
在原始代码中,您可以获得输出:
“System.String []”
因为Console.WriteLine
在内部调用ToString
方法(继承自Object
类)。此方法默认打印对象类型的全名。在您的情况下,它是string[]
,它是命名空间System
的居民,因此:System.String[]
有一种名为String.Join()的漂亮方法可以一键打印集合中的所有元素:
foreach (string[] item in loggBoken)
{
Console.WriteLine(String.Join("\t", item));
}
答案 2 :(得分:0)
Vector[11]
> Float64[2]
> Float64[2]
> Float64[2]
> Float64[2]
.
.
.